• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc < %s -mcpu=pentium -mtriple=i686-linux-gnu -float-abi=soft | FileCheck %s
2
3define i1 @test1(double %d) #0 {
4entry:
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
13define i1 @test2(double %d) #0 {
14entry:
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
23define i1 @test3(double %d) #0 {
24entry:
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
33define i1 @test4(double %d) #0 {
34entry:
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
43define i1 @test5(double %d) #0 {
44entry:
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
53define i1 @test6(double %d) #0 {
54entry:
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
63define i1 @test7(double %d) #0 {
64entry:
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
73define i1 @test8(double %d) #0 {
74entry:
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
83define i1 @test9(double %d) #0 {
84entry:
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
93define i1 @test10(double %d) #0 {
94entry:
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: or
104; CHECK: retl
105
106define i1 @test11(double %d) #0 {
107entry:
108  %cmp = fcmp one double %d, 0.000000e+00
109  ret i1 %cmp
110}
111; CHECK-LABEL: test11:
112; CHECK: calll __eqdf2
113; CHECK: setne
114; CHECK: calll __unorddf2
115; CHECK: sete
116; CHECK: and
117; CHECK: retl
118
119define i1 @test12(double %d) #0 {
120entry:
121  %cmp = fcmp une double %d, 0.000000e+00
122  ret i1 %cmp
123}
124; CHECK-LABEL: test12:
125; CHECK: calll __nedf2
126; CHECK: setne
127; CHECK: retl
128
129attributes #0 = { "use-soft-float"="true" }
130