new testcase, should simplify down to a xor/and/xor sequence.
authorChris Lattner <sabre@nondot.org>
Sun, 8 Apr 2007 07:45:36 +0000 (07:45 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 8 Apr 2007 07:45:36 +0000 (07:45 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35759 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/InstCombine/or2.ll [new file with mode: 0644]

diff --git a/test/Transforms/InstCombine/or2.ll b/test/Transforms/InstCombine/or2.ll
new file mode 100644 (file)
index 0000000..3745a48
--- /dev/null
@@ -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
+}
+