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