[ARM] Adjust how NEON shifts are lowered
[llvm-core.git] / test / CodeGen / X86 / fpcmp-soft-fp.ll
blobf96bf65e44b6e8de3f7e5a8fcf4fc82864df860d
1 ; RUN: llc < %s -mcpu=pentium -mtriple=i686-linux-gnu -float-abi=soft | FileCheck %s
3 define i1 @test1(double %d) #0 {
4 entry:
5   %cmp = fcmp ule double %d, 0.000000e+00
6   ret i1 %cmp
8 ; CHECK-LABEL: test1:
9 ; CHECK: calll __gtdf2
10 ; CHECK: setle
11 ; CHECK: retl
13 define i1 @test2(double %d) #0 {
14 entry:
15   %cmp = fcmp ult double %d, 0.000000e+00
16   ret i1 %cmp
18 ; CHECK-LABEL: test2:
19 ; CHECK: calll __gedf2
20 ; CHECK: sets
21 ; CHECK: retl
23 define i1 @test3(double %d) #0 {
24 entry:
25   %cmp = fcmp ugt double %d, 0.000000e+00
26   ret i1 %cmp
28 ; CHECK-LABEL: test3:
29 ; CHECK: calll __ledf2
30 ; CHECK: setg
31 ; CHECK: retl
33 define i1 @test4(double %d) #0 {
34 entry:
35   %cmp = fcmp uge double %d, 0.000000e+00
36   ret i1 %cmp
38 ; CHECK-LABEL: test4:
39 ; CHECK: calll __ltdf2
40 ; CHECK: setns
41 ; CHECK: retl
43 define i1 @test5(double %d) #0 {
44 entry:
45   %cmp = fcmp ole double %d, 0.000000e+00
46   ret i1 %cmp
48 ; CHECK-LABEL: test5:  
49 ; CHECK: calll __ledf2
50 ; CHECK: setle
51 ; CHECK: retl
53 define i1 @test6(double %d) #0 {
54 entry:
55   %cmp = fcmp olt double %d, 0.000000e+00
56   ret i1 %cmp
58 ; CHECK-LABEL: test6:
59 ; CHECK: calll __ltdf2
60 ; CHECK: sets
61 ; CHECK: retl
63 define i1 @test7(double %d) #0 {
64 entry:
65   %cmp = fcmp ogt double %d, 0.000000e+00
66   ret i1 %cmp
68 ; CHECK-LABEL: test7:
69 ; CHECK: calll __gtdf2
70 ; CHECK: setg
71 ; CHECK: retl
73 define i1 @test8(double %d) #0 {
74 entry:
75   %cmp = fcmp oge double %d, 0.000000e+00
76   ret i1 %cmp
78 ; CHECK-LABEL: test8:
79 ; CHECK: calll __gedf2
80 ; CHECK: setns
81 ; CHECK: retl
83 define i1 @test9(double %d) #0 {
84 entry:
85   %cmp = fcmp oeq double %d, 0.000000e+00
86   ret i1 %cmp
88 ; CHECK-LABEL: test9:
89 ; CHECK: calll __eqdf2
90 ; CHECK: sete
91 ; CHECK: retl
93 define i1 @test10(double %d) #0 {
94 entry:
95   %cmp = fcmp ueq double %d, 0.000000e+00
96   ret i1 %cmp
98 ; CHECK-LABEL: test10:
99 ; CHECK: calll __eqdf2
100 ; CHECK: sete
101 ; CHECK: calll __unorddf2
102 ; CHECK: setne
103 ; CHECK: retl
105 define i1 @test11(double %d) #0 {
106 entry:
107   %cmp = fcmp one double %d, 0.000000e+00
108   ret i1 %cmp
110 ; CHECK-LABEL: test11:
111 ; CHECK: calll __gtdf2
112 ; CHECK: setg
113 ; CHECK: calll __ltdf2
114 ; CHECK: sets
115 ; CHECK: retl
117 define i1 @test12(double %d) #0 {
118 entry:
119   %cmp = fcmp une double %d, 0.000000e+00
120   ret i1 %cmp
122 ; CHECK-LABEL: test12:
123 ; CHECK: calll __nedf2
124 ; CHECK: setne
125 ; CHECK: retl
127 attributes #0 = { "use-soft-float"="true" }