Fixed some bugs in register stack pass.
[llvm/zpu.git] / test / CodeGen / X86 / isint.ll
blob507a328c3ffd8d1e770a7de5bf06a373de919539
1 ; RUN: llc < %s -march=x86 -mattr=+sse2 > %t
2 ; RUN: not grep cmp %t
3 ; RUN: not grep xor %t
4 ; RUN: grep jne %t | count 1
5 ; RUN: grep jp %t | count 1
6 ; RUN: grep setnp %t | count 1
7 ; RUN: grep sete %t | count 1
8 ; RUN: grep and %t | count 1
9 ; RUN: grep cvt %t | count 4
11 define i32 @isint_return(double %d) nounwind {
12   %i = fptosi double %d to i32
13   %e = sitofp i32 %i to double
14   %c = fcmp oeq double %d, %e
15   %z = zext i1 %c to i32
16   ret i32 %z
19 declare void @foo()
21 define void @isint_branch(double %d) nounwind {
22   %i = fptosi double %d to i32
23   %e = sitofp i32 %i to double
24   %c = fcmp oeq double %d, %e
25   br i1 %c, label %true, label %false
26 true:
27   call void @foo()
28   ret void
29 false:
30   ret void