aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-04-08 07:45:36 +0000
committerChris Lattner <sabre@nondot.org>2007-04-08 07:45:36 +0000
commit251396a6f2a81d7e9096e4623b3d207f42a87987 (patch)
treeba622700409bc7ad0db91c41bd65250797302ab5
parent5cef3c6eb7d06eca8e6844dee43818d528b1f516 (diff)
new testcase, should simplify down to a xor/and/xor sequence.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35759 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Transforms/InstCombine/or2.ll11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/or2.ll b/test/Transforms/InstCombine/or2.ll
new file mode 100644
index 0000000000..3745a48a89
--- /dev/null
+++ b/test/Transforms/InstCombine/or2.ll
@@ -0,0 +1,11 @@
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep and &&
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep ' or'
+
+define i32 @test1(i32 %b, i32 %c, i32 %d) {
+ %tmp3 = and i32 %c, %b
+ %tmp4not = xor i32 %b, -1
+ %tmp6 = and i32 %d, %tmp4not
+ %tmp7 = or i32 %tmp6, %tmp3
+ ret i32 %tmp7
+}
+