xref: /aosp_15_r20/external/llvm/test/Transforms/InstCombine/and-fcmp.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
2*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -instcombine -S | FileCheck %s
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker; PR15737
5*9880d681SAndroid Build Coastguard Workerdefine i1 @t8(float %a, double %b) {
6*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t8(
7*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[CMP:%.*]] = fcmp ord float %a, 0.000000e+00
8*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[CMP1:%.*]] = fcmp ord double %b, 0.000000e+00
9*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[AND:%.*]] = and i1 [[CMP]], [[CMP1]]
10*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[AND]]
11*9880d681SAndroid Build Coastguard Worker;
12*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ord float %a, 0.000000e+00
13*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ord double %b, 0.000000e+00
14*9880d681SAndroid Build Coastguard Worker  %and = and i1 %cmp, %cmp1
15*9880d681SAndroid Build Coastguard Worker  ret i1 %and
16*9880d681SAndroid Build Coastguard Worker}
17*9880d681SAndroid Build Coastguard Worker
18*9880d681SAndroid Build Coastguard Workerdefine <2 x i1> @t9(<2 x float> %a, <2 x double> %b) {
19*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @t9(
20*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[CMP:%.*]] = fcmp ord <2 x float> %a, zeroinitializer
21*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[CMP1:%.*]] = fcmp ord <2 x double> %b, zeroinitializer
22*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[AND:%.*]] = and <2 x i1> [[CMP]], [[CMP1]]
23*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret <2 x i1> [[AND]]
24*9880d681SAndroid Build Coastguard Worker;
25*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ord <2 x float> %a, zeroinitializer
26*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ord <2 x double> %b, zeroinitializer
27*9880d681SAndroid Build Coastguard Worker  %and = and <2 x i1> %cmp, %cmp1
28*9880d681SAndroid Build Coastguard Worker  ret <2 x i1> %and
29*9880d681SAndroid Build Coastguard Worker}
30*9880d681SAndroid Build Coastguard Worker
31*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_0(double %a, double %b) {
32*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_0(
33*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
34*9880d681SAndroid Build Coastguard Worker;
35*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp false double %a, %b
36*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp false double %a, %b
37*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
38*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
39*9880d681SAndroid Build Coastguard Worker}
40*9880d681SAndroid Build Coastguard Worker
41*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_1(double %a, double %b) {
42*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_1(
43*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
44*9880d681SAndroid Build Coastguard Worker;
45*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp oeq double %a, %b
46*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp false double %a, %b
47*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
48*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
49*9880d681SAndroid Build Coastguard Worker}
50*9880d681SAndroid Build Coastguard Worker
51*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_2(double %a, double %b) {
52*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_2(
53*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp oeq double %a, %b
54*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
55*9880d681SAndroid Build Coastguard Worker;
56*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp oeq double %a, %b
57*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oeq double %a, %b
58*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
59*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
60*9880d681SAndroid Build Coastguard Worker}
61*9880d681SAndroid Build Coastguard Worker
62*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_3(double %a, double %b) {
63*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_3(
64*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
65*9880d681SAndroid Build Coastguard Worker;
66*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ogt double %a, %b
67*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp false double %a, %b
68*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
69*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
70*9880d681SAndroid Build Coastguard Worker}
71*9880d681SAndroid Build Coastguard Worker
72*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_4(double %a, double %b) {
73*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_4(
74*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
75*9880d681SAndroid Build Coastguard Worker;
76*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ogt double %a, %b
77*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oeq double %a, %b
78*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
79*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
80*9880d681SAndroid Build Coastguard Worker}
81*9880d681SAndroid Build Coastguard Worker
82*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_5(double %a, double %b) {
83*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_5(
84*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ogt double %a, %b
85*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
86*9880d681SAndroid Build Coastguard Worker;
87*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ogt double %a, %b
88*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ogt double %a, %b
89*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
90*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
91*9880d681SAndroid Build Coastguard Worker}
92*9880d681SAndroid Build Coastguard Worker
93*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_6(double %a, double %b) {
94*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_6(
95*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
96*9880d681SAndroid Build Coastguard Worker;
97*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp oge double %a, %b
98*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp false double %a, %b
99*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
100*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
101*9880d681SAndroid Build Coastguard Worker}
102*9880d681SAndroid Build Coastguard Worker
103*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_7(double %a, double %b) {
104*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_7(
105*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp oeq double %a, %b
106*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
107*9880d681SAndroid Build Coastguard Worker;
108*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp oge double %a, %b
109*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oeq double %a, %b
110*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
111*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
112*9880d681SAndroid Build Coastguard Worker}
113*9880d681SAndroid Build Coastguard Worker
114*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_8(double %a, double %b) {
115*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_8(
116*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ogt double %a, %b
117*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
118*9880d681SAndroid Build Coastguard Worker;
119*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp oge double %a, %b
120*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ogt double %a, %b
121*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
122*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
123*9880d681SAndroid Build Coastguard Worker}
124*9880d681SAndroid Build Coastguard Worker
125*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_9(double %a, double %b) {
126*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_9(
127*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp oge double %a, %b
128*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
129*9880d681SAndroid Build Coastguard Worker;
130*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp oge double %a, %b
131*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oge double %a, %b
132*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
133*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
134*9880d681SAndroid Build Coastguard Worker}
135*9880d681SAndroid Build Coastguard Worker
136*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_10(double %a, double %b) {
137*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_10(
138*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
139*9880d681SAndroid Build Coastguard Worker;
140*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp olt double %a, %b
141*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp false double %a, %b
142*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
143*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
144*9880d681SAndroid Build Coastguard Worker}
145*9880d681SAndroid Build Coastguard Worker
146*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_11(double %a, double %b) {
147*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_11(
148*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
149*9880d681SAndroid Build Coastguard Worker;
150*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp olt double %a, %b
151*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oeq double %a, %b
152*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
153*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
154*9880d681SAndroid Build Coastguard Worker}
155*9880d681SAndroid Build Coastguard Worker
156*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_12(double %a, double %b) {
157*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_12(
158*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
159*9880d681SAndroid Build Coastguard Worker;
160*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp olt double %a, %b
161*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ogt double %a, %b
162*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
163*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
164*9880d681SAndroid Build Coastguard Worker}
165*9880d681SAndroid Build Coastguard Worker
166*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_13(double %a, double %b) {
167*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_13(
168*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
169*9880d681SAndroid Build Coastguard Worker;
170*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp olt double %a, %b
171*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oge double %a, %b
172*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
173*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
174*9880d681SAndroid Build Coastguard Worker}
175*9880d681SAndroid Build Coastguard Worker
176*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_14(double %a, double %b) {
177*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_14(
178*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp olt double %a, %b
179*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
180*9880d681SAndroid Build Coastguard Worker;
181*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp olt double %a, %b
182*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp olt double %a, %b
183*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
184*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
185*9880d681SAndroid Build Coastguard Worker}
186*9880d681SAndroid Build Coastguard Worker
187*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_15(double %a, double %b) {
188*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_15(
189*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
190*9880d681SAndroid Build Coastguard Worker;
191*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ole double %a, %b
192*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp false double %a, %b
193*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
194*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
195*9880d681SAndroid Build Coastguard Worker}
196*9880d681SAndroid Build Coastguard Worker
197*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_16(double %a, double %b) {
198*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_16(
199*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp oeq double %a, %b
200*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
201*9880d681SAndroid Build Coastguard Worker;
202*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ole double %a, %b
203*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oeq double %a, %b
204*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
205*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
206*9880d681SAndroid Build Coastguard Worker}
207*9880d681SAndroid Build Coastguard Worker
208*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_17(double %a, double %b) {
209*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_17(
210*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
211*9880d681SAndroid Build Coastguard Worker;
212*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ole double %a, %b
213*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ogt double %a, %b
214*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
215*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
216*9880d681SAndroid Build Coastguard Worker}
217*9880d681SAndroid Build Coastguard Worker
218*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_18(double %a, double %b) {
219*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_18(
220*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp oeq double %a, %b
221*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
222*9880d681SAndroid Build Coastguard Worker;
223*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ole double %a, %b
224*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oge double %a, %b
225*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
226*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
227*9880d681SAndroid Build Coastguard Worker}
228*9880d681SAndroid Build Coastguard Worker
229*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_19(double %a, double %b) {
230*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_19(
231*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp olt double %a, %b
232*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
233*9880d681SAndroid Build Coastguard Worker;
234*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ole double %a, %b
235*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp olt double %a, %b
236*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
237*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
238*9880d681SAndroid Build Coastguard Worker}
239*9880d681SAndroid Build Coastguard Worker
240*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_20(double %a, double %b) {
241*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_20(
242*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ole double %a, %b
243*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
244*9880d681SAndroid Build Coastguard Worker;
245*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ole double %a, %b
246*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ole double %a, %b
247*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
248*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
249*9880d681SAndroid Build Coastguard Worker}
250*9880d681SAndroid Build Coastguard Worker
251*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_21(double %a, double %b) {
252*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_21(
253*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
254*9880d681SAndroid Build Coastguard Worker;
255*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp one double %a, %b
256*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp false double %a, %b
257*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
258*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
259*9880d681SAndroid Build Coastguard Worker}
260*9880d681SAndroid Build Coastguard Worker
261*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_22(double %a, double %b) {
262*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_22(
263*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
264*9880d681SAndroid Build Coastguard Worker;
265*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp one double %a, %b
266*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oeq double %a, %b
267*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
268*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
269*9880d681SAndroid Build Coastguard Worker}
270*9880d681SAndroid Build Coastguard Worker
271*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_23(double %a, double %b) {
272*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_23(
273*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ogt double %a, %b
274*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
275*9880d681SAndroid Build Coastguard Worker;
276*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp one double %a, %b
277*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ogt double %a, %b
278*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
279*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
280*9880d681SAndroid Build Coastguard Worker}
281*9880d681SAndroid Build Coastguard Worker
282*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_24(double %a, double %b) {
283*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_24(
284*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ogt double %a, %b
285*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
286*9880d681SAndroid Build Coastguard Worker;
287*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp one double %a, %b
288*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oge double %a, %b
289*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
290*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
291*9880d681SAndroid Build Coastguard Worker}
292*9880d681SAndroid Build Coastguard Worker
293*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_25(double %a, double %b) {
294*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_25(
295*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp olt double %a, %b
296*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
297*9880d681SAndroid Build Coastguard Worker;
298*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp one double %a, %b
299*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp olt double %a, %b
300*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
301*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
302*9880d681SAndroid Build Coastguard Worker}
303*9880d681SAndroid Build Coastguard Worker
304*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_26(double %a, double %b) {
305*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_26(
306*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp olt double %a, %b
307*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
308*9880d681SAndroid Build Coastguard Worker;
309*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp one double %a, %b
310*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ole double %a, %b
311*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
312*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
313*9880d681SAndroid Build Coastguard Worker}
314*9880d681SAndroid Build Coastguard Worker
315*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_27(double %a, double %b) {
316*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_27(
317*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp one double %a, %b
318*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
319*9880d681SAndroid Build Coastguard Worker;
320*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp one double %a, %b
321*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp one double %a, %b
322*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
323*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
324*9880d681SAndroid Build Coastguard Worker}
325*9880d681SAndroid Build Coastguard Worker
326*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_28(double %a, double %b) {
327*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_28(
328*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
329*9880d681SAndroid Build Coastguard Worker;
330*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ord double %a, %b
331*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp false double %a, %b
332*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
333*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
334*9880d681SAndroid Build Coastguard Worker}
335*9880d681SAndroid Build Coastguard Worker
336*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_29(double %a, double %b) {
337*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_29(
338*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp oeq double %a, %b
339*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
340*9880d681SAndroid Build Coastguard Worker;
341*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ord double %a, %b
342*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oeq double %a, %b
343*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
344*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
345*9880d681SAndroid Build Coastguard Worker}
346*9880d681SAndroid Build Coastguard Worker
347*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_30(double %a, double %b) {
348*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_30(
349*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ogt double %a, %b
350*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
351*9880d681SAndroid Build Coastguard Worker;
352*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ord double %a, %b
353*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ogt double %a, %b
354*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
355*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
356*9880d681SAndroid Build Coastguard Worker}
357*9880d681SAndroid Build Coastguard Worker
358*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_31(double %a, double %b) {
359*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_31(
360*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp oge double %a, %b
361*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
362*9880d681SAndroid Build Coastguard Worker;
363*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ord double %a, %b
364*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oge double %a, %b
365*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
366*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
367*9880d681SAndroid Build Coastguard Worker}
368*9880d681SAndroid Build Coastguard Worker
369*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_32(double %a, double %b) {
370*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_32(
371*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp olt double %a, %b
372*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
373*9880d681SAndroid Build Coastguard Worker;
374*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ord double %a, %b
375*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp olt double %a, %b
376*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
377*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
378*9880d681SAndroid Build Coastguard Worker}
379*9880d681SAndroid Build Coastguard Worker
380*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_33(double %a, double %b) {
381*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_33(
382*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ole double %a, %b
383*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
384*9880d681SAndroid Build Coastguard Worker;
385*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ord double %a, %b
386*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ole double %a, %b
387*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
388*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
389*9880d681SAndroid Build Coastguard Worker}
390*9880d681SAndroid Build Coastguard Worker
391*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_34(double %a, double %b) {
392*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_34(
393*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp one double %a, %b
394*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
395*9880d681SAndroid Build Coastguard Worker;
396*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ord double %a, %b
397*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp one double %a, %b
398*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
399*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
400*9880d681SAndroid Build Coastguard Worker}
401*9880d681SAndroid Build Coastguard Worker
402*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_35(double %a, double %b) {
403*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_35(
404*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ord double %a, %b
405*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
406*9880d681SAndroid Build Coastguard Worker;
407*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ord double %a, %b
408*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ord double %a, %b
409*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
410*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
411*9880d681SAndroid Build Coastguard Worker}
412*9880d681SAndroid Build Coastguard Worker
413*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_36(double %a, double %b) {
414*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_36(
415*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
416*9880d681SAndroid Build Coastguard Worker;
417*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ueq double %a, %b
418*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp false double %a, %b
419*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
420*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
421*9880d681SAndroid Build Coastguard Worker}
422*9880d681SAndroid Build Coastguard Worker
423*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_37(double %a, double %b) {
424*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_37(
425*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp oeq double %a, %b
426*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
427*9880d681SAndroid Build Coastguard Worker;
428*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ueq double %a, %b
429*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oeq double %a, %b
430*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
431*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
432*9880d681SAndroid Build Coastguard Worker}
433*9880d681SAndroid Build Coastguard Worker
434*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_38(double %a, double %b) {
435*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_38(
436*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
437*9880d681SAndroid Build Coastguard Worker;
438*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ueq double %a, %b
439*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ogt double %a, %b
440*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
441*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
442*9880d681SAndroid Build Coastguard Worker}
443*9880d681SAndroid Build Coastguard Worker
444*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_39(double %a, double %b) {
445*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_39(
446*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp oeq double %a, %b
447*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
448*9880d681SAndroid Build Coastguard Worker;
449*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ueq double %a, %b
450*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oge double %a, %b
451*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
452*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
453*9880d681SAndroid Build Coastguard Worker}
454*9880d681SAndroid Build Coastguard Worker
455*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_40(double %a, double %b) {
456*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_40(
457*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
458*9880d681SAndroid Build Coastguard Worker;
459*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ueq double %a, %b
460*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp olt double %a, %b
461*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
462*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
463*9880d681SAndroid Build Coastguard Worker}
464*9880d681SAndroid Build Coastguard Worker
465*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_41(double %a, double %b) {
466*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_41(
467*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp oeq double %a, %b
468*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
469*9880d681SAndroid Build Coastguard Worker;
470*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ueq double %a, %b
471*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ole double %a, %b
472*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
473*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
474*9880d681SAndroid Build Coastguard Worker}
475*9880d681SAndroid Build Coastguard Worker
476*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_42(double %a, double %b) {
477*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_42(
478*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
479*9880d681SAndroid Build Coastguard Worker;
480*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ueq double %a, %b
481*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp one double %a, %b
482*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
483*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
484*9880d681SAndroid Build Coastguard Worker}
485*9880d681SAndroid Build Coastguard Worker
486*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_43(double %a, double %b) {
487*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_43(
488*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp oeq double %a, %b
489*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
490*9880d681SAndroid Build Coastguard Worker;
491*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ueq double %a, %b
492*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ord double %a, %b
493*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
494*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
495*9880d681SAndroid Build Coastguard Worker}
496*9880d681SAndroid Build Coastguard Worker
497*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_44(double %a, double %b) {
498*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_44(
499*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ueq double %a, %b
500*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
501*9880d681SAndroid Build Coastguard Worker;
502*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ueq double %a, %b
503*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ueq double %a, %b
504*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
505*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
506*9880d681SAndroid Build Coastguard Worker}
507*9880d681SAndroid Build Coastguard Worker
508*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_45(double %a, double %b) {
509*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_45(
510*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
511*9880d681SAndroid Build Coastguard Worker;
512*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ugt double %a, %b
513*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp false double %a, %b
514*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
515*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
516*9880d681SAndroid Build Coastguard Worker}
517*9880d681SAndroid Build Coastguard Worker
518*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_46(double %a, double %b) {
519*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_46(
520*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
521*9880d681SAndroid Build Coastguard Worker;
522*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ugt double %a, %b
523*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oeq double %a, %b
524*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
525*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
526*9880d681SAndroid Build Coastguard Worker}
527*9880d681SAndroid Build Coastguard Worker
528*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_47(double %a, double %b) {
529*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_47(
530*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ogt double %a, %b
531*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
532*9880d681SAndroid Build Coastguard Worker;
533*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ugt double %a, %b
534*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ogt double %a, %b
535*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
536*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
537*9880d681SAndroid Build Coastguard Worker}
538*9880d681SAndroid Build Coastguard Worker
539*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_48(double %a, double %b) {
540*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_48(
541*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ogt double %a, %b
542*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
543*9880d681SAndroid Build Coastguard Worker;
544*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ugt double %a, %b
545*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oge double %a, %b
546*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
547*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
548*9880d681SAndroid Build Coastguard Worker}
549*9880d681SAndroid Build Coastguard Worker
550*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_49(double %a, double %b) {
551*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_49(
552*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
553*9880d681SAndroid Build Coastguard Worker;
554*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ugt double %a, %b
555*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp olt double %a, %b
556*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
557*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
558*9880d681SAndroid Build Coastguard Worker}
559*9880d681SAndroid Build Coastguard Worker
560*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_50(double %a, double %b) {
561*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_50(
562*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
563*9880d681SAndroid Build Coastguard Worker;
564*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ugt double %a, %b
565*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ole double %a, %b
566*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
567*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
568*9880d681SAndroid Build Coastguard Worker}
569*9880d681SAndroid Build Coastguard Worker
570*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_51(double %a, double %b) {
571*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_51(
572*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ogt double %a, %b
573*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
574*9880d681SAndroid Build Coastguard Worker;
575*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ugt double %a, %b
576*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp one double %a, %b
577*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
578*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
579*9880d681SAndroid Build Coastguard Worker}
580*9880d681SAndroid Build Coastguard Worker
581*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_52(double %a, double %b) {
582*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_52(
583*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ogt double %a, %b
584*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
585*9880d681SAndroid Build Coastguard Worker;
586*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ugt double %a, %b
587*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ord double %a, %b
588*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
589*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
590*9880d681SAndroid Build Coastguard Worker}
591*9880d681SAndroid Build Coastguard Worker
592*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_53(double %a, double %b) {
593*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_53(
594*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp uno double %a, %b
595*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
596*9880d681SAndroid Build Coastguard Worker;
597*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ugt double %a, %b
598*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ueq double %a, %b
599*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
600*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
601*9880d681SAndroid Build Coastguard Worker}
602*9880d681SAndroid Build Coastguard Worker
603*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_54(double %a, double %b) {
604*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_54(
605*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ugt double %a, %b
606*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
607*9880d681SAndroid Build Coastguard Worker;
608*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ugt double %a, %b
609*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ugt double %a, %b
610*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
611*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
612*9880d681SAndroid Build Coastguard Worker}
613*9880d681SAndroid Build Coastguard Worker
614*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_55(double %a, double %b) {
615*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_55(
616*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
617*9880d681SAndroid Build Coastguard Worker;
618*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uge double %a, %b
619*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp false double %a, %b
620*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
621*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
622*9880d681SAndroid Build Coastguard Worker}
623*9880d681SAndroid Build Coastguard Worker
624*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_56(double %a, double %b) {
625*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_56(
626*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp oeq double %a, %b
627*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
628*9880d681SAndroid Build Coastguard Worker;
629*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uge double %a, %b
630*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oeq double %a, %b
631*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
632*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
633*9880d681SAndroid Build Coastguard Worker}
634*9880d681SAndroid Build Coastguard Worker
635*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_57(double %a, double %b) {
636*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_57(
637*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ogt double %a, %b
638*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
639*9880d681SAndroid Build Coastguard Worker;
640*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uge double %a, %b
641*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ogt double %a, %b
642*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
643*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
644*9880d681SAndroid Build Coastguard Worker}
645*9880d681SAndroid Build Coastguard Worker
646*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_58(double %a, double %b) {
647*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_58(
648*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp oge double %a, %b
649*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
650*9880d681SAndroid Build Coastguard Worker;
651*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uge double %a, %b
652*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oge double %a, %b
653*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
654*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
655*9880d681SAndroid Build Coastguard Worker}
656*9880d681SAndroid Build Coastguard Worker
657*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_59(double %a, double %b) {
658*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_59(
659*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
660*9880d681SAndroid Build Coastguard Worker;
661*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uge double %a, %b
662*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp olt double %a, %b
663*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
664*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
665*9880d681SAndroid Build Coastguard Worker}
666*9880d681SAndroid Build Coastguard Worker
667*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_60(double %a, double %b) {
668*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_60(
669*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp oeq double %a, %b
670*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
671*9880d681SAndroid Build Coastguard Worker;
672*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uge double %a, %b
673*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ole double %a, %b
674*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
675*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
676*9880d681SAndroid Build Coastguard Worker}
677*9880d681SAndroid Build Coastguard Worker
678*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_61(double %a, double %b) {
679*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_61(
680*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ogt double %a, %b
681*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
682*9880d681SAndroid Build Coastguard Worker;
683*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uge double %a, %b
684*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp one double %a, %b
685*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
686*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
687*9880d681SAndroid Build Coastguard Worker}
688*9880d681SAndroid Build Coastguard Worker
689*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_62(double %a, double %b) {
690*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_62(
691*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp oge double %a, %b
692*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
693*9880d681SAndroid Build Coastguard Worker;
694*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uge double %a, %b
695*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ord double %a, %b
696*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
697*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
698*9880d681SAndroid Build Coastguard Worker}
699*9880d681SAndroid Build Coastguard Worker
700*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_63(double %a, double %b) {
701*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_63(
702*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ueq double %a, %b
703*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
704*9880d681SAndroid Build Coastguard Worker;
705*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uge double %a, %b
706*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ueq double %a, %b
707*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
708*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
709*9880d681SAndroid Build Coastguard Worker}
710*9880d681SAndroid Build Coastguard Worker
711*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_64(double %a, double %b) {
712*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_64(
713*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ugt double %a, %b
714*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
715*9880d681SAndroid Build Coastguard Worker;
716*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uge double %a, %b
717*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ugt double %a, %b
718*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
719*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
720*9880d681SAndroid Build Coastguard Worker}
721*9880d681SAndroid Build Coastguard Worker
722*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_65(double %a, double %b) {
723*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_65(
724*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp uge double %a, %b
725*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
726*9880d681SAndroid Build Coastguard Worker;
727*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uge double %a, %b
728*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp uge double %a, %b
729*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
730*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
731*9880d681SAndroid Build Coastguard Worker}
732*9880d681SAndroid Build Coastguard Worker
733*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_66(double %a, double %b) {
734*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_66(
735*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
736*9880d681SAndroid Build Coastguard Worker;
737*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ult double %a, %b
738*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp false double %a, %b
739*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
740*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
741*9880d681SAndroid Build Coastguard Worker}
742*9880d681SAndroid Build Coastguard Worker
743*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_67(double %a, double %b) {
744*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_67(
745*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
746*9880d681SAndroid Build Coastguard Worker;
747*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ult double %a, %b
748*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oeq double %a, %b
749*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
750*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
751*9880d681SAndroid Build Coastguard Worker}
752*9880d681SAndroid Build Coastguard Worker
753*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_68(double %a, double %b) {
754*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_68(
755*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
756*9880d681SAndroid Build Coastguard Worker;
757*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ult double %a, %b
758*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ogt double %a, %b
759*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
760*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
761*9880d681SAndroid Build Coastguard Worker}
762*9880d681SAndroid Build Coastguard Worker
763*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_69(double %a, double %b) {
764*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_69(
765*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
766*9880d681SAndroid Build Coastguard Worker;
767*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ult double %a, %b
768*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oge double %a, %b
769*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
770*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
771*9880d681SAndroid Build Coastguard Worker}
772*9880d681SAndroid Build Coastguard Worker
773*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_70(double %a, double %b) {
774*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_70(
775*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp olt double %a, %b
776*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
777*9880d681SAndroid Build Coastguard Worker;
778*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ult double %a, %b
779*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp olt double %a, %b
780*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
781*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
782*9880d681SAndroid Build Coastguard Worker}
783*9880d681SAndroid Build Coastguard Worker
784*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_71(double %a, double %b) {
785*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_71(
786*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp olt double %a, %b
787*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
788*9880d681SAndroid Build Coastguard Worker;
789*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ult double %a, %b
790*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ole double %a, %b
791*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
792*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
793*9880d681SAndroid Build Coastguard Worker}
794*9880d681SAndroid Build Coastguard Worker
795*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_72(double %a, double %b) {
796*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_72(
797*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp olt double %a, %b
798*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
799*9880d681SAndroid Build Coastguard Worker;
800*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ult double %a, %b
801*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp one double %a, %b
802*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
803*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
804*9880d681SAndroid Build Coastguard Worker}
805*9880d681SAndroid Build Coastguard Worker
806*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_73(double %a, double %b) {
807*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_73(
808*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp olt double %a, %b
809*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
810*9880d681SAndroid Build Coastguard Worker;
811*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ult double %a, %b
812*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ord double %a, %b
813*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
814*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
815*9880d681SAndroid Build Coastguard Worker}
816*9880d681SAndroid Build Coastguard Worker
817*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_74(double %a, double %b) {
818*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_74(
819*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp uno double %a, %b
820*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
821*9880d681SAndroid Build Coastguard Worker;
822*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ult double %a, %b
823*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ueq double %a, %b
824*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
825*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
826*9880d681SAndroid Build Coastguard Worker}
827*9880d681SAndroid Build Coastguard Worker
828*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_75(double %a, double %b) {
829*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_75(
830*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp uno double %a, %b
831*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
832*9880d681SAndroid Build Coastguard Worker;
833*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ult double %a, %b
834*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ugt double %a, %b
835*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
836*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
837*9880d681SAndroid Build Coastguard Worker}
838*9880d681SAndroid Build Coastguard Worker
839*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_76(double %a, double %b) {
840*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_76(
841*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp uno double %a, %b
842*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
843*9880d681SAndroid Build Coastguard Worker;
844*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ult double %a, %b
845*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp uge double %a, %b
846*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
847*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
848*9880d681SAndroid Build Coastguard Worker}
849*9880d681SAndroid Build Coastguard Worker
850*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_77(double %a, double %b) {
851*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_77(
852*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ult double %a, %b
853*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
854*9880d681SAndroid Build Coastguard Worker;
855*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ult double %a, %b
856*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ult double %a, %b
857*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
858*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
859*9880d681SAndroid Build Coastguard Worker}
860*9880d681SAndroid Build Coastguard Worker
861*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_78(double %a, double %b) {
862*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_78(
863*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
864*9880d681SAndroid Build Coastguard Worker;
865*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ule double %a, %b
866*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp false double %a, %b
867*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
868*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
869*9880d681SAndroid Build Coastguard Worker}
870*9880d681SAndroid Build Coastguard Worker
871*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_79(double %a, double %b) {
872*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_79(
873*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp oeq double %a, %b
874*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
875*9880d681SAndroid Build Coastguard Worker;
876*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ule double %a, %b
877*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oeq double %a, %b
878*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
879*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
880*9880d681SAndroid Build Coastguard Worker}
881*9880d681SAndroid Build Coastguard Worker
882*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_80(double %a, double %b) {
883*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_80(
884*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
885*9880d681SAndroid Build Coastguard Worker;
886*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ule double %a, %b
887*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ogt double %a, %b
888*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
889*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
890*9880d681SAndroid Build Coastguard Worker}
891*9880d681SAndroid Build Coastguard Worker
892*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_81(double %a, double %b) {
893*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_81(
894*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp oeq double %a, %b
895*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
896*9880d681SAndroid Build Coastguard Worker;
897*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ule double %a, %b
898*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oge double %a, %b
899*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
900*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
901*9880d681SAndroid Build Coastguard Worker}
902*9880d681SAndroid Build Coastguard Worker
903*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_82(double %a, double %b) {
904*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_82(
905*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp olt double %a, %b
906*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
907*9880d681SAndroid Build Coastguard Worker;
908*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ule double %a, %b
909*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp olt double %a, %b
910*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
911*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
912*9880d681SAndroid Build Coastguard Worker}
913*9880d681SAndroid Build Coastguard Worker
914*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_83(double %a, double %b) {
915*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_83(
916*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ole double %a, %b
917*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
918*9880d681SAndroid Build Coastguard Worker;
919*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ule double %a, %b
920*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ole double %a, %b
921*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
922*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
923*9880d681SAndroid Build Coastguard Worker}
924*9880d681SAndroid Build Coastguard Worker
925*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_84(double %a, double %b) {
926*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_84(
927*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp olt double %a, %b
928*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
929*9880d681SAndroid Build Coastguard Worker;
930*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ule double %a, %b
931*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp one double %a, %b
932*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
933*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
934*9880d681SAndroid Build Coastguard Worker}
935*9880d681SAndroid Build Coastguard Worker
936*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_85(double %a, double %b) {
937*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_85(
938*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ole double %a, %b
939*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
940*9880d681SAndroid Build Coastguard Worker;
941*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ule double %a, %b
942*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ord double %a, %b
943*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
944*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
945*9880d681SAndroid Build Coastguard Worker}
946*9880d681SAndroid Build Coastguard Worker
947*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_86(double %a, double %b) {
948*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_86(
949*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ueq double %a, %b
950*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
951*9880d681SAndroid Build Coastguard Worker;
952*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ule double %a, %b
953*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ueq double %a, %b
954*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
955*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
956*9880d681SAndroid Build Coastguard Worker}
957*9880d681SAndroid Build Coastguard Worker
958*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_87(double %a, double %b) {
959*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_87(
960*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp uno double %a, %b
961*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
962*9880d681SAndroid Build Coastguard Worker;
963*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ule double %a, %b
964*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ugt double %a, %b
965*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
966*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
967*9880d681SAndroid Build Coastguard Worker}
968*9880d681SAndroid Build Coastguard Worker
969*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_88(double %a, double %b) {
970*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_88(
971*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ueq double %a, %b
972*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
973*9880d681SAndroid Build Coastguard Worker;
974*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ule double %a, %b
975*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp uge double %a, %b
976*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
977*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
978*9880d681SAndroid Build Coastguard Worker}
979*9880d681SAndroid Build Coastguard Worker
980*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_89(double %a, double %b) {
981*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_89(
982*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ult double %a, %b
983*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
984*9880d681SAndroid Build Coastguard Worker;
985*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ule double %a, %b
986*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ult double %a, %b
987*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
988*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
989*9880d681SAndroid Build Coastguard Worker}
990*9880d681SAndroid Build Coastguard Worker
991*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_90(double %a, double %b) {
992*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_90(
993*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ule double %a, %b
994*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
995*9880d681SAndroid Build Coastguard Worker;
996*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp ule double %a, %b
997*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ule double %a, %b
998*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
999*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1000*9880d681SAndroid Build Coastguard Worker}
1001*9880d681SAndroid Build Coastguard Worker
1002*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_91(double %a, double %b) {
1003*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_91(
1004*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
1005*9880d681SAndroid Build Coastguard Worker;
1006*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp une double %a, %b
1007*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp false double %a, %b
1008*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1009*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1010*9880d681SAndroid Build Coastguard Worker}
1011*9880d681SAndroid Build Coastguard Worker
1012*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_92(double %a, double %b) {
1013*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_92(
1014*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
1015*9880d681SAndroid Build Coastguard Worker;
1016*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp une double %a, %b
1017*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oeq double %a, %b
1018*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1019*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1020*9880d681SAndroid Build Coastguard Worker}
1021*9880d681SAndroid Build Coastguard Worker
1022*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_93(double %a, double %b) {
1023*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_93(
1024*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ogt double %a, %b
1025*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
1026*9880d681SAndroid Build Coastguard Worker;
1027*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp une double %a, %b
1028*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ogt double %a, %b
1029*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1030*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1031*9880d681SAndroid Build Coastguard Worker}
1032*9880d681SAndroid Build Coastguard Worker
1033*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_94(double %a, double %b) {
1034*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_94(
1035*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ogt double %a, %b
1036*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
1037*9880d681SAndroid Build Coastguard Worker;
1038*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp une double %a, %b
1039*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oge double %a, %b
1040*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1041*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1042*9880d681SAndroid Build Coastguard Worker}
1043*9880d681SAndroid Build Coastguard Worker
1044*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_95(double %a, double %b) {
1045*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_95(
1046*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp olt double %a, %b
1047*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
1048*9880d681SAndroid Build Coastguard Worker;
1049*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp une double %a, %b
1050*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp olt double %a, %b
1051*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1052*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1053*9880d681SAndroid Build Coastguard Worker}
1054*9880d681SAndroid Build Coastguard Worker
1055*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_96(double %a, double %b) {
1056*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_96(
1057*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp olt double %a, %b
1058*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
1059*9880d681SAndroid Build Coastguard Worker;
1060*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp une double %a, %b
1061*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ole double %a, %b
1062*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1063*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1064*9880d681SAndroid Build Coastguard Worker}
1065*9880d681SAndroid Build Coastguard Worker
1066*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_97(double %a, double %b) {
1067*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_97(
1068*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp one double %a, %b
1069*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
1070*9880d681SAndroid Build Coastguard Worker;
1071*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp une double %a, %b
1072*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp one double %a, %b
1073*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1074*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1075*9880d681SAndroid Build Coastguard Worker}
1076*9880d681SAndroid Build Coastguard Worker
1077*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_98(double %a, double %b) {
1078*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_98(
1079*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp one double %a, %b
1080*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
1081*9880d681SAndroid Build Coastguard Worker;
1082*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp une double %a, %b
1083*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ord double %a, %b
1084*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1085*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1086*9880d681SAndroid Build Coastguard Worker}
1087*9880d681SAndroid Build Coastguard Worker
1088*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_99(double %a, double %b) {
1089*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_99(
1090*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp uno double %a, %b
1091*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
1092*9880d681SAndroid Build Coastguard Worker;
1093*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp une double %a, %b
1094*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ueq double %a, %b
1095*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1096*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1097*9880d681SAndroid Build Coastguard Worker}
1098*9880d681SAndroid Build Coastguard Worker
1099*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_100(double %a, double %b) {
1100*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_100(
1101*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ugt double %a, %b
1102*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
1103*9880d681SAndroid Build Coastguard Worker;
1104*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp une double %a, %b
1105*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ugt double %a, %b
1106*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1107*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1108*9880d681SAndroid Build Coastguard Worker}
1109*9880d681SAndroid Build Coastguard Worker
1110*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_101(double %a, double %b) {
1111*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_101(
1112*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ugt double %a, %b
1113*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
1114*9880d681SAndroid Build Coastguard Worker;
1115*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp une double %a, %b
1116*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp uge double %a, %b
1117*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1118*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1119*9880d681SAndroid Build Coastguard Worker}
1120*9880d681SAndroid Build Coastguard Worker
1121*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_102(double %a, double %b) {
1122*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_102(
1123*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ult double %a, %b
1124*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
1125*9880d681SAndroid Build Coastguard Worker;
1126*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp une double %a, %b
1127*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ult double %a, %b
1128*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1129*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1130*9880d681SAndroid Build Coastguard Worker}
1131*9880d681SAndroid Build Coastguard Worker
1132*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_103(double %a, double %b) {
1133*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_103(
1134*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp ult double %a, %b
1135*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
1136*9880d681SAndroid Build Coastguard Worker;
1137*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp une double %a, %b
1138*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ule double %a, %b
1139*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1140*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1141*9880d681SAndroid Build Coastguard Worker}
1142*9880d681SAndroid Build Coastguard Worker
1143*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_104(double %a, double %b) {
1144*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_104(
1145*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp une double %a, %b
1146*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
1147*9880d681SAndroid Build Coastguard Worker;
1148*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp une double %a, %b
1149*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp une double %a, %b
1150*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1151*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1152*9880d681SAndroid Build Coastguard Worker}
1153*9880d681SAndroid Build Coastguard Worker
1154*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_105(double %a, double %b) {
1155*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_105(
1156*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
1157*9880d681SAndroid Build Coastguard Worker;
1158*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uno double %a, %b
1159*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp false double %a, %b
1160*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1161*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1162*9880d681SAndroid Build Coastguard Worker}
1163*9880d681SAndroid Build Coastguard Worker
1164*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_106(double %a, double %b) {
1165*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_106(
1166*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
1167*9880d681SAndroid Build Coastguard Worker;
1168*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uno double %a, %b
1169*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oeq double %a, %b
1170*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1171*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1172*9880d681SAndroid Build Coastguard Worker}
1173*9880d681SAndroid Build Coastguard Worker
1174*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_107(double %a, double %b) {
1175*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_107(
1176*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
1177*9880d681SAndroid Build Coastguard Worker;
1178*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uno double %a, %b
1179*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ogt double %a, %b
1180*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1181*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1182*9880d681SAndroid Build Coastguard Worker}
1183*9880d681SAndroid Build Coastguard Worker
1184*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_108(double %a, double %b) {
1185*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_108(
1186*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
1187*9880d681SAndroid Build Coastguard Worker;
1188*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uno double %a, %b
1189*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oge double %a, %b
1190*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1191*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1192*9880d681SAndroid Build Coastguard Worker}
1193*9880d681SAndroid Build Coastguard Worker
1194*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_109(double %a, double %b) {
1195*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_109(
1196*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
1197*9880d681SAndroid Build Coastguard Worker;
1198*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uno double %a, %b
1199*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp olt double %a, %b
1200*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1201*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1202*9880d681SAndroid Build Coastguard Worker}
1203*9880d681SAndroid Build Coastguard Worker
1204*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_110(double %a, double %b) {
1205*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_110(
1206*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
1207*9880d681SAndroid Build Coastguard Worker;
1208*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uno double %a, %b
1209*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ole double %a, %b
1210*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1211*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1212*9880d681SAndroid Build Coastguard Worker}
1213*9880d681SAndroid Build Coastguard Worker
1214*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_111(double %a, double %b) {
1215*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_111(
1216*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
1217*9880d681SAndroid Build Coastguard Worker;
1218*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uno double %a, %b
1219*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp one double %a, %b
1220*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1221*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1222*9880d681SAndroid Build Coastguard Worker}
1223*9880d681SAndroid Build Coastguard Worker
1224*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_112(double %a, double %b) {
1225*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_112(
1226*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
1227*9880d681SAndroid Build Coastguard Worker;
1228*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uno double %a, %b
1229*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ord double %a, %b
1230*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1231*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1232*9880d681SAndroid Build Coastguard Worker}
1233*9880d681SAndroid Build Coastguard Worker
1234*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_113(double %a, double %b) {
1235*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_113(
1236*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp uno double %a, %b
1237*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
1238*9880d681SAndroid Build Coastguard Worker;
1239*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uno double %a, %b
1240*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ueq double %a, %b
1241*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1242*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1243*9880d681SAndroid Build Coastguard Worker}
1244*9880d681SAndroid Build Coastguard Worker
1245*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_114(double %a, double %b) {
1246*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_114(
1247*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp uno double %a, %b
1248*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
1249*9880d681SAndroid Build Coastguard Worker;
1250*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uno double %a, %b
1251*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ugt double %a, %b
1252*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1253*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1254*9880d681SAndroid Build Coastguard Worker}
1255*9880d681SAndroid Build Coastguard Worker
1256*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_115(double %a, double %b) {
1257*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_115(
1258*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp uno double %a, %b
1259*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
1260*9880d681SAndroid Build Coastguard Worker;
1261*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uno double %a, %b
1262*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp uge double %a, %b
1263*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1264*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1265*9880d681SAndroid Build Coastguard Worker}
1266*9880d681SAndroid Build Coastguard Worker
1267*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_116(double %a, double %b) {
1268*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_116(
1269*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp uno double %a, %b
1270*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
1271*9880d681SAndroid Build Coastguard Worker;
1272*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uno double %a, %b
1273*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ult double %a, %b
1274*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1275*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1276*9880d681SAndroid Build Coastguard Worker}
1277*9880d681SAndroid Build Coastguard Worker
1278*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_117(double %a, double %b) {
1279*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_117(
1280*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp uno double %a, %b
1281*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
1282*9880d681SAndroid Build Coastguard Worker;
1283*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uno double %a, %b
1284*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ule double %a, %b
1285*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1286*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1287*9880d681SAndroid Build Coastguard Worker}
1288*9880d681SAndroid Build Coastguard Worker
1289*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_118(double %a, double %b) {
1290*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_118(
1291*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp uno double %a, %b
1292*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
1293*9880d681SAndroid Build Coastguard Worker;
1294*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uno double %a, %b
1295*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp une double %a, %b
1296*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1297*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1298*9880d681SAndroid Build Coastguard Worker}
1299*9880d681SAndroid Build Coastguard Worker
1300*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_119(double %a, double %b) {
1301*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_119(
1302*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[TMP1:%.*]] = fcmp uno double %a, %b
1303*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[TMP1]]
1304*9880d681SAndroid Build Coastguard Worker;
1305*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp uno double %a, %b
1306*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp uno double %a, %b
1307*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1308*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1309*9880d681SAndroid Build Coastguard Worker}
1310*9880d681SAndroid Build Coastguard Worker
1311*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_120(double %a, double %b) {
1312*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_120(
1313*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 false
1314*9880d681SAndroid Build Coastguard Worker;
1315*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp true double %a, %b
1316*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp false double %a, %b
1317*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1318*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1319*9880d681SAndroid Build Coastguard Worker}
1320*9880d681SAndroid Build Coastguard Worker
1321*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_121(double %a, double %b) {
1322*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_121(
1323*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[CMP1:%.*]] = fcmp oeq double %a, %b
1324*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[CMP1]]
1325*9880d681SAndroid Build Coastguard Worker;
1326*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp true double %a, %b
1327*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oeq double %a, %b
1328*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1329*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1330*9880d681SAndroid Build Coastguard Worker}
1331*9880d681SAndroid Build Coastguard Worker
1332*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_122(double %a, double %b) {
1333*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_122(
1334*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[CMP1:%.*]] = fcmp ogt double %a, %b
1335*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[CMP1]]
1336*9880d681SAndroid Build Coastguard Worker;
1337*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp true double %a, %b
1338*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ogt double %a, %b
1339*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1340*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1341*9880d681SAndroid Build Coastguard Worker}
1342*9880d681SAndroid Build Coastguard Worker
1343*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_123(double %a, double %b) {
1344*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_123(
1345*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[CMP1:%.*]] = fcmp oge double %a, %b
1346*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[CMP1]]
1347*9880d681SAndroid Build Coastguard Worker;
1348*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp true double %a, %b
1349*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp oge double %a, %b
1350*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1351*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1352*9880d681SAndroid Build Coastguard Worker}
1353*9880d681SAndroid Build Coastguard Worker
1354*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_124(double %a, double %b) {
1355*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_124(
1356*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[CMP1:%.*]] = fcmp olt double %a, %b
1357*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[CMP1]]
1358*9880d681SAndroid Build Coastguard Worker;
1359*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp true double %a, %b
1360*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp olt double %a, %b
1361*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1362*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1363*9880d681SAndroid Build Coastguard Worker}
1364*9880d681SAndroid Build Coastguard Worker
1365*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_125(double %a, double %b) {
1366*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_125(
1367*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[CMP1:%.*]] = fcmp ole double %a, %b
1368*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[CMP1]]
1369*9880d681SAndroid Build Coastguard Worker;
1370*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp true double %a, %b
1371*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ole double %a, %b
1372*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1373*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1374*9880d681SAndroid Build Coastguard Worker}
1375*9880d681SAndroid Build Coastguard Worker
1376*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_126(double %a, double %b) {
1377*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_126(
1378*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[CMP1:%.*]] = fcmp one double %a, %b
1379*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[CMP1]]
1380*9880d681SAndroid Build Coastguard Worker;
1381*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp true double %a, %b
1382*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp one double %a, %b
1383*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1384*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1385*9880d681SAndroid Build Coastguard Worker}
1386*9880d681SAndroid Build Coastguard Worker
1387*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_127(double %a, double %b) {
1388*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_127(
1389*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[CMP1:%.*]] = fcmp ord double %a, %b
1390*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[CMP1]]
1391*9880d681SAndroid Build Coastguard Worker;
1392*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp true double %a, %b
1393*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ord double %a, %b
1394*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1395*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1396*9880d681SAndroid Build Coastguard Worker}
1397*9880d681SAndroid Build Coastguard Worker
1398*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_128(double %a, double %b) {
1399*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_128(
1400*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[CMP1:%.*]] = fcmp ueq double %a, %b
1401*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[CMP1]]
1402*9880d681SAndroid Build Coastguard Worker;
1403*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp true double %a, %b
1404*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ueq double %a, %b
1405*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1406*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1407*9880d681SAndroid Build Coastguard Worker}
1408*9880d681SAndroid Build Coastguard Worker
1409*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_129(double %a, double %b) {
1410*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_129(
1411*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[CMP1:%.*]] = fcmp ugt double %a, %b
1412*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[CMP1]]
1413*9880d681SAndroid Build Coastguard Worker;
1414*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp true double %a, %b
1415*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ugt double %a, %b
1416*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1417*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1418*9880d681SAndroid Build Coastguard Worker}
1419*9880d681SAndroid Build Coastguard Worker
1420*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_130(double %a, double %b) {
1421*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_130(
1422*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[CMP1:%.*]] = fcmp uge double %a, %b
1423*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[CMP1]]
1424*9880d681SAndroid Build Coastguard Worker;
1425*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp true double %a, %b
1426*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp uge double %a, %b
1427*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1428*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1429*9880d681SAndroid Build Coastguard Worker}
1430*9880d681SAndroid Build Coastguard Worker
1431*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_131(double %a, double %b) {
1432*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_131(
1433*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[CMP1:%.*]] = fcmp ult double %a, %b
1434*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[CMP1]]
1435*9880d681SAndroid Build Coastguard Worker;
1436*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp true double %a, %b
1437*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ult double %a, %b
1438*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1439*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1440*9880d681SAndroid Build Coastguard Worker}
1441*9880d681SAndroid Build Coastguard Worker
1442*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_132(double %a, double %b) {
1443*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_132(
1444*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[CMP1:%.*]] = fcmp ule double %a, %b
1445*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[CMP1]]
1446*9880d681SAndroid Build Coastguard Worker;
1447*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp true double %a, %b
1448*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp ule double %a, %b
1449*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1450*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1451*9880d681SAndroid Build Coastguard Worker}
1452*9880d681SAndroid Build Coastguard Worker
1453*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_133(double %a, double %b) {
1454*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_133(
1455*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[CMP1:%.*]] = fcmp une double %a, %b
1456*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[CMP1]]
1457*9880d681SAndroid Build Coastguard Worker;
1458*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp true double %a, %b
1459*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp une double %a, %b
1460*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1461*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1462*9880d681SAndroid Build Coastguard Worker}
1463*9880d681SAndroid Build Coastguard Worker
1464*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_134(double %a, double %b) {
1465*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_134(
1466*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    [[CMP1:%.*]] = fcmp uno double %a, %b
1467*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 [[CMP1]]
1468*9880d681SAndroid Build Coastguard Worker;
1469*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp true double %a, %b
1470*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp uno double %a, %b
1471*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1472*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1473*9880d681SAndroid Build Coastguard Worker}
1474*9880d681SAndroid Build Coastguard Worker
1475*9880d681SAndroid Build Coastguard Workerdefine i1 @auto_gen_135(double %a, double %b) {
1476*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @auto_gen_135(
1477*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:    ret i1 true
1478*9880d681SAndroid Build Coastguard Worker;
1479*9880d681SAndroid Build Coastguard Worker  %cmp = fcmp true double %a, %b
1480*9880d681SAndroid Build Coastguard Worker  %cmp1 = fcmp true double %a, %b
1481*9880d681SAndroid Build Coastguard Worker  %retval = and i1 %cmp, %cmp1
1482*9880d681SAndroid Build Coastguard Worker  ret i1 %retval
1483*9880d681SAndroid Build Coastguard Worker}
1484