Testcase for r151691.
authorBill Wendling <isanbard@gmail.com>
Wed, 29 Feb 2012 01:53:13 +0000 (01:53 +0000)
committerBill Wendling <isanbard@gmail.com>
Wed, 29 Feb 2012 01:53:13 +0000 (01:53 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151694 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/InstCombine/2012-02-28-ICmp.ll [new file with mode: 0644]

diff --git a/test/Transforms/InstCombine/2012-02-28-ICmp.ll b/test/Transforms/InstCombine/2012-02-28-ICmp.ll
new file mode 100644 (file)
index 0000000..82cf85f
--- /dev/null
@@ -0,0 +1,19 @@
+; RUN: opt < %s -instcombine -S | FileCheck %s
+; <rdar://problem/10803154>
+
+; There should be no transformation.
+; CHECK: %a = trunc i32 %x to i8
+; CHECK: %b = icmp ne i8 %a, 0
+; CHECK: %c = and i32 %x, 16711680
+; CHECK: %d = icmp ne i32 %c, 0
+; CHECK: %e = and i1 %b, %d
+; CHECK: ret i1 %e
+
+define i1 @f1(i32 %x) {
+  %a = trunc i32 %x to i8
+  %b = icmp ne i8 %a, 0
+  %c = and i32 %x, 16711680
+  %d = icmp ne i32 %c, 0
+  %e = and i1 %b, %d
+  ret i1 %e
+}