new testcase
authorChris Lattner <sabre@nondot.org>
Tue, 14 Nov 2006 07:45:36 +0000 (07:45 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 14 Nov 2006 07:45:36 +0000 (07:45 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31728 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/InstCombine/shift-simplify.ll [new file with mode: 0644]

diff --git a/test/Transforms/InstCombine/shift-simplify.ll b/test/Transforms/InstCombine/shift-simplify.ll
new file mode 100644 (file)
index 0000000..b91637f
--- /dev/null
@@ -0,0 +1,22 @@
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | egrep 'shl|lshr|ashr' | wc -l | grep 3
+
+int %test0(int %A, int %B, ubyte %C) {
+       %X = shl int %A, ubyte %C
+       %Y = shl int %B, ubyte %C
+       %Z = and int %X, %Y
+       ret int %Z
+}
+
+int %test1(int %A, int %B, ubyte %C) {
+       %X = lshr int %A, ubyte %C
+       %Y = lshr int %B, ubyte %C
+       %Z = or int %X, %Y
+       ret int %Z
+}
+
+int %test2(int %A, int %B, ubyte %C) {
+       %X = ashr int %A, ubyte %C
+       %Y = ashr int %B, ubyte %C
+       %Z = xor int %X, %Y
+       ret int %Z
+}