mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-09 13:21:30 +00:00
[InstCombine] add tests for non-splat select(ext)
llvm-svn: 282901
This commit is contained in:
parent
04e0faa3b3
commit
373ee08f45
@ -166,6 +166,17 @@ define <2 x i32> @test_vectors_sext(<2 x i1> %cca, <2 x i1> %ccb) {
|
||||
ret <2 x i32> %r
|
||||
}
|
||||
|
||||
define <2 x i32> @test_vectors_sext_nonsplat(<2 x i1> %cca, <2 x i1> %ccb) {
|
||||
; CHECK-LABEL: @test_vectors_sext_nonsplat(
|
||||
; CHECK-NEXT: [[CCAX:%.*]] = sext <2 x i1> %cca to <2 x i32>
|
||||
; CHECK-NEXT: [[R:%.*]] = select <2 x i1> %ccb, <2 x i32> [[CCAX]], <2 x i32> <i32 0, i32 -1>
|
||||
; CHECK-NEXT: ret <2 x i32> [[R]]
|
||||
;
|
||||
%ccax = sext <2 x i1> %cca to <2 x i32>
|
||||
%r = select <2 x i1> %ccb, <2 x i32> %ccax, <2 x i32> <i32 0, i32 -1>
|
||||
ret <2 x i32> %r
|
||||
}
|
||||
|
||||
define <2 x i32> @test_vectors_zext(<2 x i1> %cca, <2 x i1> %ccb) {
|
||||
; CHECK-LABEL: @test_vectors_zext(
|
||||
; CHECK-NEXT: [[FOLD_R:%.*]] = and <2 x i1> %ccb, %cca
|
||||
@ -177,6 +188,17 @@ define <2 x i32> @test_vectors_zext(<2 x i1> %cca, <2 x i1> %ccb) {
|
||||
ret <2 x i32> %r
|
||||
}
|
||||
|
||||
define <2 x i32> @test_vectors_zext_nonsplat(<2 x i1> %cca, <2 x i1> %ccb) {
|
||||
; CHECK-LABEL: @test_vectors_zext_nonsplat(
|
||||
; CHECK-NEXT: [[CCAX:%.*]] = zext <2 x i1> %cca to <2 x i32>
|
||||
; CHECK-NEXT: [[R:%.*]] = select <2 x i1> %ccb, <2 x i32> [[CCAX]], <2 x i32> <i32 1, i32 0>
|
||||
; CHECK-NEXT: ret <2 x i32> [[R]]
|
||||
;
|
||||
%ccax = zext <2 x i1> %cca to <2 x i32>
|
||||
%r = select <2 x i1> %ccb, <2 x i32> %ccax, <2 x i32> <i32 1, i32 0>
|
||||
ret <2 x i32> %r
|
||||
}
|
||||
|
||||
define <2 x i32> @scalar_select_of_vectors_sext(<2 x i1> %cca, i1 %ccb) {
|
||||
; CHECK-LABEL: @scalar_select_of_vectors_sext(
|
||||
; CHECK-NEXT: [[FOLD_R:%.*]] = select i1 %ccb, <2 x i1> %cca, <2 x i1> zeroinitializer
|
||||
|
Loading…
Reference in New Issue
Block a user