diff options
Diffstat (limited to 'test/CodeGen/X86/long-setcc.ll')
-rw-r--r-- | test/CodeGen/X86/long-setcc.ll | 39 |
1 files changed, 11 insertions, 28 deletions
diff --git a/test/CodeGen/X86/long-setcc.ll b/test/CodeGen/X86/long-setcc.ll index 0ab8160..e0165fb 100644 --- a/test/CodeGen/X86/long-setcc.ll +++ b/test/CodeGen/X86/long-setcc.ll @@ -1,35 +1,18 @@ -; RUN: llc < %s -march=x86 | FileCheck %s +; RUN: llc < %s -march=x86 | grep cmp | count 1 +; RUN: llc < %s -march=x86 | grep shr | count 1 +; RUN: llc < %s -march=x86 | grep xor | count 1 -; General case -define i1 @t1(i64 %x, i64 %y) nounwind { -; CHECK: @t1 -; CHECK: subl -; CHECK: sbbl -; CHECK: setl %al - %B = icmp slt i64 %x, %y - ret i1 %B +define i1 @t1(i64 %x) nounwind { + %B = icmp slt i64 %x, 0 + ret i1 %B } -; Some special cases define i1 @t2(i64 %x) nounwind { -; CHECK: @t2 -; CHECK: shrl $31, %eax - %B = icmp slt i64 %x, 0 - ret i1 %B + %tmp = icmp ult i64 %x, 4294967296 + ret i1 %tmp } -define i1 @t3(i64 %x) nounwind { -; CHECK: @t3 -; CHECX: cmpl $0 -; CHECX: sete %al - %tmp = icmp ult i64 %x, 4294967296 - ret i1 %tmp -} - -define i1 @t4(i64 %x) nounwind { -; CHECK: @t4 -; CHECX: cmpl $0 -; CHECX: setne %al - %tmp = icmp ugt i64 %x, 4294967295 - ret i1 %tmp +define i1 @t3(i32 %x) nounwind { + %tmp = icmp ugt i32 %x, -1 + ret i1 %tmp } |