diff options
author | Evan Cheng <evan.cheng@apple.com> | 2010-02-24 01:42:31 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2010-02-24 01:42:31 +0000 |
commit | 97e6b8390b405f9e7dd994f111a5950fca2962d2 (patch) | |
tree | 9f28b4394a19d69d306eebef354fe321ffd50c2c /test/CodeGen/X86/xor-icmp.ll | |
parent | 9d2ed8e632b71914b2a668932f4f49b87c3ca0b1 (diff) | |
download | external_llvm-97e6b8390b405f9e7dd994f111a5950fca2962d2.zip external_llvm-97e6b8390b405f9e7dd994f111a5950fca2962d2.tar.gz external_llvm-97e6b8390b405f9e7dd994f111a5950fca2962d2.tar.bz2 |
Re-apply 96540 and 96556 with fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97011 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/xor-icmp.ll')
-rw-r--r-- | test/CodeGen/X86/xor-icmp.ll | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test/CodeGen/X86/xor-icmp.ll b/test/CodeGen/X86/xor-icmp.ll index a6bdb13..2d75c5d 100644 --- a/test/CodeGen/X86/xor-icmp.ll +++ b/test/CodeGen/X86/xor-icmp.ll @@ -1,5 +1,6 @@ ; RUN: llc < %s -march=x86 | FileCheck %s -check-prefix=X32 ; RUN: llc < %s -march=x86-64 | FileCheck %s -check-prefix=X64 +; rdar://7367229 define i32 @t(i32 %a, i32 %b) nounwind ssp { entry: @@ -34,3 +35,33 @@ bb1: ; preds = %entry declare i32 @foo(...) declare i32 @bar(...) + +define i32 @t2(i32 %x, i32 %y) nounwind ssp { +; X32: t2: +; X32: cmpl +; X32: sete +; X32: cmpl +; X32: sete +; X32-NOT: xor +; X32: je + +; X64: t2: +; X64: testl +; X64: sete +; X64: testl +; X64: sete +; X64-NOT: xor +; X64: je +entry: + %0 = icmp eq i32 %x, 0 ; <i1> [#uses=1] + %1 = icmp eq i32 %y, 0 ; <i1> [#uses=1] + %2 = xor i1 %1, %0 ; <i1> [#uses=1] + br i1 %2, label %bb, label %return + +bb: ; preds = %entry + %3 = tail call i32 (...)* @foo() nounwind ; <i32> [#uses=0] + ret i32 undef + +return: ; preds = %entry + ret i32 undef +} |