As Dan pointed out, movzbl, movsbl, and friends are nicer than their alias
[oota-llvm.git] / test / CodeGen / X86 / long-setcc.ll
index 0ab816068829b432bdaa46b413380cd1d092ff13..e0165fb01b53677cbd76b4b9d4f9f1031ef187a6 100644 (file)
@@ -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
 }