OSDN Git Service

add tests to show missing vector transforms
authorSanjay Patel <spatel@rotateright.com>
Sun, 5 Jun 2016 17:32:58 +0000 (17:32 +0000)
committerSanjay Patel <spatel@rotateright.com>
Sun, 5 Jun 2016 17:32:58 +0000 (17:32 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271842 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/InstCombine/set.ll

index 17dbdec..23d1a63 100644 (file)
@@ -118,6 +118,16 @@ define i1 @test13(i1 %A, i1 %B) {
   ret i1 %C
 }
 
+; FIXME: Vectors should fold the same as scalars.
+define <2 x i1> @test13vec(<2 x i1> %A, <2 x i1> %B) {
+; CHECK-LABEL: @test13vec(
+; CHECK-NEXT:    [[C:%.*]] = icmp uge <2 x i1> %A, %B
+; CHECK-NEXT:    ret <2 x i1> [[C]]
+;
+  %C = icmp uge <2 x i1> %A, %B
+  ret <2 x i1> %C
+}
+
 define i1 @test14(i1 %A, i1 %B) {
 ; CHECK-LABEL: @test14(
 ; CHECK-NEXT:    [[CTMP:%.*]] = xor i1 %A, %B
@@ -128,6 +138,16 @@ define i1 @test14(i1 %A, i1 %B) {
   ret i1 %C
 }
 
+; FIXME: Vectors should fold the same as scalars.
+define <3 x i1> @test14vec(<3 x i1> %A, <3 x i1> %B) {
+; CHECK-LABEL: @test14vec(
+; CHECK-NEXT:    [[C:%.*]] = icmp eq <3 x i1> %A, %B
+; CHECK-NEXT:    ret <3 x i1> [[C]]
+;
+  %C = icmp eq <3 x i1> %A, %B
+  ret <3 x i1> %C
+}
+
 define i1 @test16(i32 %A) {
 ; CHECK-LABEL: @test16(
 ; CHECK-NEXT:    ret i1 false