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