-; RUN: llvm-as < %s | llc -march=x86 | grep cmp | wc -l | grep 1
-; RUN: llvm-as < %s | llc -march=x86 | grep shr | wc -l | grep 1
-; RUN: llvm-as < %s | llc -march=x86 | grep xor | wc -l | grep 1
+; RUN: llc < %s -march=x86 | FileCheck %s
-define i1 @t1(i64 %x) {
+define i1 @t1(i64 %x) nounwind {
%B = icmp slt i64 %x, 0
ret i1 %B
}
-define i1 @t2(i64 %x) {
+; CHECK: t1
+; CHECK: shrl
+; CHECK-NOT: shrl
+; CHECK: ret
+
+define i1 @t2(i64 %x) nounwind {
%tmp = icmp ult i64 %x, 4294967296
ret i1 %tmp
}
-define i1 @t3(i32 %x) {
+; CHECK: t2
+; CHECK: cmp
+; CHECK-NOT: cmp
+; CHECK: ret
+
+define i1 @t3(i32 %x) nounwind {
%tmp = icmp ugt i32 %x, -1
ret i1 %tmp
}
+
+; CHECK: t3
+; CHECK: xor
+; CHECK-NOT: xor
+; CHECK: ret