aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms/InstCombine/xor2.ll
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2010-03-03 00:35:56 +0000
committerBill Wendling <isanbard@gmail.com>2010-03-03 00:35:56 +0000
commit7d9f2b93a356aa89186522bd61c5c565718ff555 (patch)
tree23c53369693ff5b3457349e0240ee4753c504bc6 /test/Transforms/InstCombine/xor2.ll
parenta43398283dcb34568d2283dafbdfe0fa66b05033 (diff)
downloadexternal_llvm-7d9f2b93a356aa89186522bd61c5c565718ff555.zip
external_llvm-7d9f2b93a356aa89186522bd61c5c565718ff555.tar.gz
external_llvm-7d9f2b93a356aa89186522bd61c5c565718ff555.tar.bz2
This test case:
long test(long x) { return (x & 123124) | 3; } Currently compiles to: _test: orl $3, %edi movq %rdi, %rax andq $123127, %rax ret This is because instruction and DAG combiners canonicalize (or (and x, C), D) -> (and (or, D), (C | D)) However, this is only profitable if (C & D) != 0. It gets in the way of the 3-addressification because the input bits are known to be zero. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97616 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/InstCombine/xor2.ll')
-rw-r--r--test/Transforms/InstCombine/xor2.ll8
1 files changed, 4 insertions, 4 deletions
diff --git a/test/Transforms/InstCombine/xor2.ll b/test/Transforms/InstCombine/xor2.ll
index de3d65d..67f05ef 100644
--- a/test/Transforms/InstCombine/xor2.ll
+++ b/test/Transforms/InstCombine/xor2.ll
@@ -22,8 +22,8 @@ define i1 @test1(i32 %A) {
; PR1014
define i32 @test2(i32 %tmp1) {
; CHECK: @test2
-; CHECK-NEXT: or i32 %tmp1, 8
-; CHECK-NEXT: and i32
+; CHECK-NEXT: and i32 %tmp1, 32
+; CHECK-NEXT: or i32 %ovm, 8
; CHECK-NEXT: ret i32
%ovm = and i32 %tmp1, 32
%ov3 = add i32 %ovm, 145
@@ -33,8 +33,8 @@ define i32 @test2(i32 %tmp1) {
define i32 @test3(i32 %tmp1) {
; CHECK: @test3
-; CHECK-NEXT: or i32 %tmp1, 8
-; CHECK-NEXT: and i32
+; CHECK-NEXT: and i32 %tmp1, 32
+; CHECK-NEXT: or i32 %tmp, 8
; CHECK-NEXT: ret i32
%ovm = or i32 %tmp1, 145
%ov31 = and i32 %ovm, 177