[llvm-commits] CVS: llvm/test/Transforms/InstCombine/and-or-not.ll
Chris Lattner
sabre at nondot.org
Thu Jun 14 23:22:54 PDT 2007
Changes in directory llvm/test/Transforms/InstCombine:
and-or-not.ll updated: 1.1 -> 1.2
---
Log message:
add vector versions of this test
---
Diffs of the changes: (+20 -1)
and-or-not.ll | 21 ++++++++++++++++++++-
1 files changed, 20 insertions(+), 1 deletion(-)
Index: llvm/test/Transforms/InstCombine/and-or-not.ll
diff -u llvm/test/Transforms/InstCombine/and-or-not.ll:1.1 llvm/test/Transforms/InstCombine/and-or-not.ll:1.2
--- llvm/test/Transforms/InstCombine/and-or-not.ll:1.1 Fri Jun 15 00:57:20 2007
+++ llvm/test/Transforms/InstCombine/and-or-not.ll Fri Jun 15 01:22:32 2007
@@ -1,4 +1,4 @@
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep xor | wc -l | grep 2
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep xor | wc -l | grep 4
; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep and
; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep { or}
@@ -25,3 +25,22 @@
ret i32 %tmp7
}
+define <4 x i32> @test3(<4 x i32> %a, <4 x i32> %b) {
+entry:
+ %tmp3 = or <4 x i32> %a, %b ; <<4 x i32>> [#uses=1]
+ %tmp3not = xor <4 x i32> %tmp3, < i32 -1, i32 -1, i32 -1, i32 -1 > ; <<4 x i32>> [#uses=1]
+ %tmp6 = and <4 x i32> %a, %b ; <<4 x i32>> [#uses=1]
+ %tmp7 = or <4 x i32> %tmp6, %tmp3not ; <<4 x i32>> [#uses=1]
+ %tmp7not = xor <4 x i32> %tmp7, < i32 -1, i32 -1, i32 -1, i32 -1 > ; <<4 x i32>> [#uses=1]
+ ret <4 x i32> %tmp7not
+}
+
+define <4 x i32> @test4(<4 x i32> %a, <4 x i32> %b) {
+entry:
+ %tmp3 = or <4 x i32> %a, %b ; <<4 x i32>> [#uses=1]
+ %tmp6 = and <4 x i32> %a, %b ; <<4 x i32>> [#uses=1]
+ %tmp6not = xor <4 x i32> %tmp6, < i32 -1, i32 -1, i32 -1, i32 -1 > ; <<4 x i32>> [#uses=1]
+ %tmp7 = and <4 x i32> %tmp3, %tmp6not ; <<4 x i32>> [#uses=1]
+ ret <4 x i32> %tmp7
+}
+
More information about the llvm-commits
mailing list