1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu -O2 \
3 ; RUN: -ppc-asm-full-reg-names -mcpu=pwr10 < %s | FileCheck %s
4 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu -O2 \
5 ; RUN: -ppc-asm-full-reg-names -mcpu=pwr10 < %s | FileCheck %s
7 ; Function Attrs: norecurse nounwind readnone
8 define signext i32 @setbc(float %a, float %b) {
10 ; CHECK: # %bb.0: # %entry
11 ; CHECK-NEXT: fcmpu cr0, f1, f2
12 ; CHECK-NEXT: setbc r3, lt
15 %cmp = fcmp olt float %a, %b
16 %conv = zext i1 %cmp to i32
20 ; Function Attrs: norecurse nounwind readnone
21 define signext i32 @setnbc(float %a, float %b) {
22 ; CHECK-LABEL: setnbc:
23 ; CHECK: # %bb.0: # %entry
24 ; CHECK-NEXT: fcmpu cr0, f1, f2
25 ; CHECK-NEXT: setnbc r3, lt
28 %cmp = fcmp olt float %a, %b
29 %sub = sext i1 %cmp to i32
33 ; Function Attrs: norecurse nounwind readnone
34 define signext i32 @setbcr(float %a, float %b) {
35 ; CHECK-LABEL: setbcr:
36 ; CHECK: # %bb.0: # %entry
37 ; CHECK-NEXT: fcmpu cr0, f1, f2
38 ; CHECK-NEXT: setbcr r3, lt
41 %cmp = fcmp uge float %a, %b
42 %lnot.ext = zext i1 %cmp to i32
46 ; Function Attrs: norecurse nounwind readnone
47 define signext i32 @setnbcr(float %a, float %b) {
48 ; CHECK-LABEL: setnbcr:
49 ; CHECK: # %bb.0: # %entry
50 ; CHECK-NEXT: fcmpu cr0, f1, f2
51 ; CHECK-NEXT: setnbcr r3, lt
54 %cmp = fcmp uge float %a, %b
55 %sub = sext i1 %cmp to i32
59 ; Function Attrs: norecurse nounwind readnone
60 define signext i64 @setbc2(float %a, float %b) {
61 ; CHECK-LABEL: setbc2:
62 ; CHECK: # %bb.0: # %entry
63 ; CHECK-NEXT: fcmpu cr0, f1, f2
64 ; CHECK-NEXT: setbc r3, lt
67 %cmp = fcmp olt float %a, %b
68 %conv = zext i1 %cmp to i64
72 ; Function Attrs: norecurse nounwind readnone
73 define signext i64 @setnbc2(float %a, float %b) {
74 ; CHECK-LABEL: setnbc2:
75 ; CHECK: # %bb.0: # %entry
76 ; CHECK-NEXT: fcmpu cr0, f1, f2
77 ; CHECK-NEXT: setnbc r3, lt
80 %cmp = fcmp olt float %a, %b
81 %sub = sext i1 %cmp to i64
85 ; Function Attrs: norecurse nounwind readnone
86 define signext i64 @setbcr2(float %a, float %b) {
87 ; CHECK-LABEL: setbcr2:
88 ; CHECK: # %bb.0: # %entry
89 ; CHECK-NEXT: fcmpu cr0, f1, f2
90 ; CHECK-NEXT: setbcr r3, lt
93 %cmp = fcmp uge float %a, %b
94 %lnot.ext = zext i1 %cmp to i64
98 ; Function Attrs: norecurse nounwind readnone
99 define signext i64 @setnbcr2(float %a, float %b) {
100 ; CHECK-LABEL: setnbcr2:
101 ; CHECK: # %bb.0: # %entry
102 ; CHECK-NEXT: fcmpu cr0, f1, f2
103 ; CHECK-NEXT: setnbcr r3, lt
106 %cmp = fcmp uge float %a, %b
107 %sub = sext i1 %cmp to i64
111 ; Function Attrs: norecurse nounwind readnone
112 define signext i64 @setbc3(double %a, double %b) {
113 ; CHECK-LABEL: setbc3:
114 ; CHECK: # %bb.0: # %entry
115 ; CHECK-NEXT: fcmpu cr0, f1, f2
116 ; CHECK-NEXT: setbc r3, lt
119 %cmp = fcmp olt double %a, %b
120 %conv = zext i1 %cmp to i64
124 ; Function Attrs: norecurse nounwind readnone
125 define signext i64 @setnbc3(double %a, double %b) {
126 ; CHECK-LABEL: setnbc3:
127 ; CHECK: # %bb.0: # %entry
128 ; CHECK-NEXT: fcmpu cr0, f1, f2
129 ; CHECK-NEXT: setnbc r3, lt
132 %cmp = fcmp olt double %a, %b
133 %sub = sext i1 %cmp to i64
137 ; Function Attrs: norecurse nounwind readnone
138 define signext i64 @setbcr3(double %a, double %b) {
139 ; CHECK-LABEL: setbcr3:
140 ; CHECK: # %bb.0: # %entry
141 ; CHECK-NEXT: fcmpu cr0, f1, f2
142 ; CHECK-NEXT: setbcr r3, lt
145 %cmp = fcmp uge double %a, %b
146 %lnot.ext = zext i1 %cmp to i64
150 ; Function Attrs: norecurse nounwind readnone
151 define signext i64 @setnbcr3(double %a, double %b) {
152 ; CHECK-LABEL: setnbcr3:
153 ; CHECK: # %bb.0: # %entry
154 ; CHECK-NEXT: fcmpu cr0, f1, f2
155 ; CHECK-NEXT: setnbcr r3, lt
158 %cmp = fcmp uge double %a, %b
159 %sub = sext i1 %cmp to i64
163 ; Function Attrs: norecurse nounwind readnone
164 define signext i32 @setbc4(double %a, double %b) {
165 ; CHECK-LABEL: setbc4:
166 ; CHECK: # %bb.0: # %entry
167 ; CHECK-NEXT: fcmpu cr0, f1, f2
168 ; CHECK-NEXT: setbc r3, lt
171 %cmp = fcmp olt double %a, %b
172 %conv = zext i1 %cmp to i32
176 ; Function Attrs: norecurse nounwind readnone
177 define signext i32 @setnbc4(double %a, double %b) {
178 ; CHECK-LABEL: setnbc4:
179 ; CHECK: # %bb.0: # %entry
180 ; CHECK-NEXT: fcmpu cr0, f1, f2
181 ; CHECK-NEXT: setnbc r3, lt
184 %cmp = fcmp olt double %a, %b
185 %sub = sext i1 %cmp to i32
189 ; Function Attrs: norecurse nounwind readnone
190 define signext i32 @setbcr4(double %a, double %b) {
191 ; CHECK-LABEL: setbcr4:
192 ; CHECK: # %bb.0: # %entry
193 ; CHECK-NEXT: fcmpu cr0, f1, f2
194 ; CHECK-NEXT: setbcr r3, lt
197 %cmp = fcmp uge double %a, %b
198 %lnot.ext = zext i1 %cmp to i32
202 ; Function Attrs: norecurse nounwind readnone
203 define signext i32 @setnbcr4(double %a, double %b) {
204 ; CHECK-LABEL: setnbcr4:
205 ; CHECK: # %bb.0: # %entry
206 ; CHECK-NEXT: fcmpu cr0, f1, f2
207 ; CHECK-NEXT: setnbcr r3, lt
210 %cmp = fcmp uge double %a, %b
211 %sub = sext i1 %cmp to i32
216 ; Function Attrs: norecurse nounwind readnone
217 define signext i32 @setbc5(float %a, float %b) {
218 ; CHECK-LABEL: setbc5:
219 ; CHECK: # %bb.0: # %entry
220 ; CHECK-NEXT: fcmpu cr0, f1, f2
221 ; CHECK-NEXT: setbc r3, gt
224 %cmp = fcmp ogt float %a, %b
225 %conv = zext i1 %cmp to i32
229 ; Function Attrs: norecurse nounwind readnone
230 define signext i32 @setnbc5(float %a, float %b) {
231 ; CHECK-LABEL: setnbc5:
232 ; CHECK: # %bb.0: # %entry
233 ; CHECK-NEXT: fcmpu cr0, f1, f2
234 ; CHECK-NEXT: setnbc r3, gt
237 %cmp = fcmp ogt float %a, %b
238 %sub = sext i1 %cmp to i32
242 ; Function Attrs: norecurse nounwind readnone
243 define signext i32 @setbcr5(float %a, float %b) {
244 ; CHECK-LABEL: setbcr5:
245 ; CHECK: # %bb.0: # %entry
246 ; CHECK-NEXT: fcmpu cr0, f1, f2
247 ; CHECK-NEXT: setbcr r3, gt
250 %cmp = fcmp ule float %a, %b
251 %lnot.ext = zext i1 %cmp to i32
255 ; Function Attrs: norecurse nounwind readnone
256 define signext i32 @setnbcr5(float %a, float %b) {
257 ; CHECK-LABEL: setnbcr5:
258 ; CHECK: # %bb.0: # %entry
259 ; CHECK-NEXT: fcmpu cr0, f1, f2
260 ; CHECK-NEXT: setnbcr r3, gt
263 %cmp = fcmp ule float %a, %b
264 %sub = sext i1 %cmp to i32
268 ; Function Attrs: norecurse nounwind readnone
269 define signext i32 @setbc6(double %a, double %b) {
270 ; CHECK-LABEL: setbc6:
271 ; CHECK: # %bb.0: # %entry
272 ; CHECK-NEXT: fcmpu cr0, f1, f2
273 ; CHECK-NEXT: setbc r3, gt
276 %cmp = fcmp ogt double %a, %b
277 %conv = zext i1 %cmp to i32
281 ; Function Attrs: norecurse nounwind readnone
282 define signext i32 @setnbc6(double %a, double %b) {
283 ; CHECK-LABEL: setnbc6:
284 ; CHECK: # %bb.0: # %entry
285 ; CHECK-NEXT: fcmpu cr0, f1, f2
286 ; CHECK-NEXT: setnbc r3, gt
289 %cmp = fcmp ogt double %a, %b
290 %sub = sext i1 %cmp to i32
294 ; Function Attrs: norecurse nounwind readnone
295 define signext i32 @setbcr6(double %a, double %b) {
296 ; CHECK-LABEL: setbcr6:
297 ; CHECK: # %bb.0: # %entry
298 ; CHECK-NEXT: fcmpu cr0, f1, f2
299 ; CHECK-NEXT: setbcr r3, gt
302 %cmp = fcmp ule double %a, %b
303 %lnot.ext = zext i1 %cmp to i32
307 ; Function Attrs: norecurse nounwind readnone
308 define signext i32 @setnbcr6(double %a, double %b) {
309 ; CHECK-LABEL: setnbcr6:
310 ; CHECK: # %bb.0: # %entry
311 ; CHECK-NEXT: fcmpu cr0, f1, f2
312 ; CHECK-NEXT: setnbcr r3, gt
315 %cmp = fcmp ule double %a, %b
316 %sub = sext i1 %cmp to i32
320 ; Function Attrs: norecurse nounwind readnone
321 define signext i64 @setbc7(float %a, float %b) {
322 ; CHECK-LABEL: setbc7:
323 ; CHECK: # %bb.0: # %entry
324 ; CHECK-NEXT: fcmpu cr0, f1, f2
325 ; CHECK-NEXT: setbc r3, gt
328 %cmp = fcmp ogt float %a, %b
329 %conv = zext i1 %cmp to i64
333 ; Function Attrs: norecurse nounwind readnone
334 define signext i64 @setnbc7(float %a, float %b) {
335 ; CHECK-LABEL: setnbc7:
336 ; CHECK: # %bb.0: # %entry
337 ; CHECK-NEXT: fcmpu cr0, f1, f2
338 ; CHECK-NEXT: setnbc r3, gt
341 %cmp = fcmp ogt float %a, %b
342 %sub = sext i1 %cmp to i64
346 ; Function Attrs: norecurse nounwind readnone
347 define signext i64 @setbcr7(float %a, float %b) {
348 ; CHECK-LABEL: setbcr7:
349 ; CHECK: # %bb.0: # %entry
350 ; CHECK-NEXT: fcmpu cr0, f1, f2
351 ; CHECK-NEXT: setbcr r3, gt
354 %cmp = fcmp ule float %a, %b
355 %lnot.ext = zext i1 %cmp to i64
359 ; Function Attrs: norecurse nounwind readnone
360 define signext i64 @setnbcr7(float %a, float %b) {
361 ; CHECK-LABEL: setnbcr7:
362 ; CHECK: # %bb.0: # %entry
363 ; CHECK-NEXT: fcmpu cr0, f1, f2
364 ; CHECK-NEXT: setnbcr r3, gt
367 %cmp = fcmp ule float %a, %b
368 %sub = sext i1 %cmp to i64
372 ; Function Attrs: norecurse nounwind readnone
373 define signext i64 @setbc8(double %a, double %b) {
374 ; CHECK-LABEL: setbc8:
375 ; CHECK: # %bb.0: # %entry
376 ; CHECK-NEXT: fcmpu cr0, f1, f2
377 ; CHECK-NEXT: setbc r3, gt
380 %cmp = fcmp ogt double %a, %b
381 %conv = zext i1 %cmp to i64
385 ; Function Attrs: norecurse nounwind readnone
386 define signext i64 @setnbc8(double %a, double %b) {
387 ; CHECK-LABEL: setnbc8:
388 ; CHECK: # %bb.0: # %entry
389 ; CHECK-NEXT: fcmpu cr0, f1, f2
390 ; CHECK-NEXT: setnbc r3, gt
393 %cmp = fcmp ogt double %a, %b
394 %sub = sext i1 %cmp to i64
398 ; Function Attrs: norecurse nounwind readnone
399 define signext i64 @setbcr8(double %a, double %b) {
400 ; CHECK-LABEL: setbcr8:
401 ; CHECK: # %bb.0: # %entry
402 ; CHECK-NEXT: fcmpu cr0, f1, f2
403 ; CHECK-NEXT: setbcr r3, gt
406 %cmp = fcmp ule double %a, %b
407 %lnot.ext = zext i1 %cmp to i64
411 ; Function Attrs: norecurse nounwind readnone
412 define signext i64 @setnbcr8(double %a, double %b) {
413 ; CHECK-LABEL: setnbcr8:
414 ; CHECK: # %bb.0: # %entry
415 ; CHECK-NEXT: fcmpu cr0, f1, f2
416 ; CHECK-NEXT: setnbcr r3, gt
419 %cmp = fcmp ule double %a, %b
420 %sub = sext i1 %cmp to i64
424 ; Function Attrs: norecurse nounwind readnone
425 define signext i32 @setbc9(float %a, float %b) {
426 ; CHECK-LABEL: setbc9:
427 ; CHECK: # %bb.0: # %entry
428 ; CHECK-NEXT: fcmpu cr0, f1, f2
429 ; CHECK-NEXT: setbc r3, eq
432 %cmp = fcmp oeq float %a, %b
433 %conv = zext i1 %cmp to i32
437 ; Function Attrs: norecurse nounwind readnone
438 define signext i32 @setnbc9(float %a, float %b) {
439 ; CHECK-LABEL: setnbc9:
440 ; CHECK: # %bb.0: # %entry
441 ; CHECK-NEXT: fcmpu cr0, f1, f2
442 ; CHECK-NEXT: setnbc r3, eq
445 %cmp = fcmp oeq float %a, %b
446 %sub = sext i1 %cmp to i32
450 ; Function Attrs: norecurse nounwind readnone
451 define signext i32 @setbcr9(float %a, float %b) {
452 ; CHECK-LABEL: setbcr9:
453 ; CHECK: # %bb.0: # %entry
454 ; CHECK-NEXT: fcmpu cr0, f1, f2
455 ; CHECK-NEXT: setbcr r3, eq
458 %cmp = fcmp une float %a, %b
459 %lnot.ext = zext i1 %cmp to i32
463 ; Function Attrs: norecurse nounwind readnone
464 define signext i32 @setnbcr9(float %a, float %b) {
465 ; CHECK-LABEL: setnbcr9:
466 ; CHECK: # %bb.0: # %entry
467 ; CHECK-NEXT: fcmpu cr0, f1, f2
468 ; CHECK-NEXT: setnbcr r3, eq
471 %cmp = fcmp une float %a, %b
472 %sub = sext i1 %cmp to i32
476 ; Function Attrs: norecurse nounwind readnone
477 define signext i32 @setbc10(double %a, double %b) {
478 ; CHECK-LABEL: setbc10:
479 ; CHECK: # %bb.0: # %entry
480 ; CHECK-NEXT: fcmpu cr0, f1, f2
481 ; CHECK-NEXT: setbc r3, eq
484 %cmp = fcmp oeq double %a, %b
485 %conv = zext i1 %cmp to i32
489 ; Function Attrs: norecurse nounwind readnone
490 define signext i32 @setnbc10(double %a, double %b) {
491 ; CHECK-LABEL: setnbc10:
492 ; CHECK: # %bb.0: # %entry
493 ; CHECK-NEXT: fcmpu cr0, f1, f2
494 ; CHECK-NEXT: setnbc r3, eq
497 %cmp = fcmp oeq double %a, %b
498 %sub = sext i1 %cmp to i32
502 ; Function Attrs: norecurse nounwind readnone
503 define signext i32 @setbcr10(double %a, double %b) {
504 ; CHECK-LABEL: setbcr10:
505 ; CHECK: # %bb.0: # %entry
506 ; CHECK-NEXT: fcmpu cr0, f1, f2
507 ; CHECK-NEXT: setbcr r3, eq
510 %cmp = fcmp une double %a, %b
511 %lnot.ext = zext i1 %cmp to i32
515 ; Function Attrs: norecurse nounwind readnone
516 define signext i32 @setnbcr10(double %a, double %b) {
517 ; CHECK-LABEL: setnbcr10:
518 ; CHECK: # %bb.0: # %entry
519 ; CHECK-NEXT: fcmpu cr0, f1, f2
520 ; CHECK-NEXT: setnbcr r3, eq
523 %cmp = fcmp une double %a, %b
524 %sub = sext i1 %cmp to i32
528 ; Function Attrs: norecurse nounwind readnone
529 define signext i64 @setbc11(float %a, float %b) {
530 ; CHECK-LABEL: setbc11:
531 ; CHECK: # %bb.0: # %entry
532 ; CHECK-NEXT: fcmpu cr0, f1, f2
533 ; CHECK-NEXT: setbc r3, eq
536 %cmp = fcmp oeq float %a, %b
537 %conv = zext i1 %cmp to i64
541 ; Function Attrs: norecurse nounwind readnone
542 define signext i64 @setnbc11(float %a, float %b) {
543 ; CHECK-LABEL: setnbc11:
544 ; CHECK: # %bb.0: # %entry
545 ; CHECK-NEXT: fcmpu cr0, f1, f2
546 ; CHECK-NEXT: setnbc r3, eq
549 %cmp = fcmp oeq float %a, %b
550 %sub = sext i1 %cmp to i64
554 ; Function Attrs: norecurse nounwind readnone
555 define signext i64 @setbcr11(float %a, float %b) {
556 ; CHECK-LABEL: setbcr11:
557 ; CHECK: # %bb.0: # %entry
558 ; CHECK-NEXT: fcmpu cr0, f1, f2
559 ; CHECK-NEXT: setbcr r3, eq
562 %cmp = fcmp une float %a, %b
563 %lnot.ext = zext i1 %cmp to i64
567 ; Function Attrs: norecurse nounwind readnone
568 define signext i64 @setnbcr11(float %a, float %b) {
569 ; CHECK-LABEL: setnbcr11:
570 ; CHECK: # %bb.0: # %entry
571 ; CHECK-NEXT: fcmpu cr0, f1, f2
572 ; CHECK-NEXT: setnbcr r3, eq
575 %cmp = fcmp une float %a, %b
576 %sub = sext i1 %cmp to i64
580 ; Function Attrs: norecurse nounwind readnone
581 define signext i64 @setbc12(double %a, double %b) {
582 ; CHECK-LABEL: setbc12:
583 ; CHECK: # %bb.0: # %entry
584 ; CHECK-NEXT: fcmpu cr0, f1, f2
585 ; CHECK-NEXT: setbc r3, eq
588 %cmp = fcmp oeq double %a, %b
589 %conv = zext i1 %cmp to i64
593 ; Function Attrs: norecurse nounwind readnone
594 define signext i64 @setnbc12(double %a, double %b) {
595 ; CHECK-LABEL: setnbc12:
596 ; CHECK: # %bb.0: # %entry
597 ; CHECK-NEXT: fcmpu cr0, f1, f2
598 ; CHECK-NEXT: setnbc r3, eq
601 %cmp = fcmp oeq double %a, %b
602 %sub = sext i1 %cmp to i64
606 ; Function Attrs: norecurse nounwind readnone
607 define signext i64 @setbcr12(double %a, double %b) {
608 ; CHECK-LABEL: setbcr12:
609 ; CHECK: # %bb.0: # %entry
610 ; CHECK-NEXT: fcmpu cr0, f1, f2
611 ; CHECK-NEXT: setbcr r3, eq
614 %cmp = fcmp une double %a, %b
615 %lnot.ext = zext i1 %cmp to i64
619 ; Function Attrs: norecurse nounwind readnone
620 define signext i64 @setnbcr12(double %a, double %b) {
621 ; CHECK-LABEL: setnbcr12:
622 ; CHECK: # %bb.0: # %entry
623 ; CHECK-NEXT: fcmpu cr0, f1, f2
624 ; CHECK-NEXT: setnbcr r3, eq
627 %cmp = fcmp une double %a, %b
628 %sub = sext i1 %cmp to i64
632 ; Function Attrs: norecurse nounwind readnone
633 define signext i32 @setbc13(float %a, float %b) {
634 ; CHECK-LABEL: setbc13:
635 ; CHECK: # %bb.0: # %entry
636 ; CHECK-NEXT: fcmpu cr0, f1, f2
637 ; CHECK-NEXT: setbc r3, un
640 %cmp = fcmp uno float %a, %b
641 %conv = zext i1 %cmp to i32
645 ; Function Attrs: norecurse nounwind readnone
646 define signext i32 @setnbc13(float %a, float %b) {
647 ; CHECK-LABEL: setnbc13:
648 ; CHECK: # %bb.0: # %entry
649 ; CHECK-NEXT: fcmpu cr0, f1, f2
650 ; CHECK-NEXT: setnbc r3, un
653 %cmp = fcmp uno float %a, %b
654 %sub = sext i1 %cmp to i32
658 ; Function Attrs: norecurse nounwind readnone
659 define signext i32 @setbcr13(float %a, float %b) {
660 ; CHECK-LABEL: setbcr13:
661 ; CHECK: # %bb.0: # %entry
662 ; CHECK-NEXT: fcmpu cr0, f1, f2
663 ; CHECK-NEXT: setbcr r3, un
666 %cmp = fcmp ord float %a, %b
667 %lnot.ext = zext i1 %cmp to i32
671 ; Function Attrs: norecurse nounwind readnone
672 define signext i32 @setnbcr13(float %a, float %b) {
673 ; CHECK-LABEL: setnbcr13:
674 ; CHECK: # %bb.0: # %entry
675 ; CHECK-NEXT: fcmpu cr0, f1, f2
676 ; CHECK-NEXT: setnbcr r3, un
679 %cmp = fcmp ord float %a, %b
680 %sub = sext i1 %cmp to i32
684 ; Function Attrs: norecurse nounwind readnone
685 define signext i32 @setbc14(double %a, double %b) {
686 ; CHECK-LABEL: setbc14:
687 ; CHECK: # %bb.0: # %entry
688 ; CHECK-NEXT: fcmpu cr0, f1, f2
689 ; CHECK-NEXT: setbc r3, un
692 %cmp = fcmp uno double %a, %b
693 %conv = zext i1 %cmp to i32
697 ; Function Attrs: norecurse nounwind readnone
698 define signext i32 @setnbc14(double %a, double %b) {
699 ; CHECK-LABEL: setnbc14:
700 ; CHECK: # %bb.0: # %entry
701 ; CHECK-NEXT: fcmpu cr0, f1, f2
702 ; CHECK-NEXT: setnbc r3, un
705 %cmp = fcmp uno double %a, %b
706 %sub = sext i1 %cmp to i32
710 ; Function Attrs: norecurse nounwind readnone
711 define signext i32 @setbcr14(double %a, double %b) {
712 ; CHECK-LABEL: setbcr14:
713 ; CHECK: # %bb.0: # %entry
714 ; CHECK-NEXT: fcmpu cr0, f1, f2
715 ; CHECK-NEXT: setbcr r3, un
718 %cmp = fcmp ord double %a, %b
719 %lnot.ext = zext i1 %cmp to i32
723 ; Function Attrs: norecurse nounwind readnone
724 define signext i32 @setnbcr14(double %a, double %b) {
725 ; CHECK-LABEL: setnbcr14:
726 ; CHECK: # %bb.0: # %entry
727 ; CHECK-NEXT: fcmpu cr0, f1, f2
728 ; CHECK-NEXT: setnbcr r3, un
731 %cmp = fcmp ord double %a, %b
732 %sub = sext i1 %cmp to i32
736 ; Function Attrs: norecurse nounwind readnone
737 define signext i64 @setbc15(float %a, float %b) {
738 ; CHECK-LABEL: setbc15:
739 ; CHECK: # %bb.0: # %entry
740 ; CHECK-NEXT: fcmpu cr0, f1, f2
741 ; CHECK-NEXT: setbc r3, un
744 %cmp = fcmp uno float %a, %b
745 %conv = zext i1 %cmp to i64
749 ; Function Attrs: norecurse nounwind readnone
750 define signext i64 @setnbc15(float %a, float %b) {
751 ; CHECK-LABEL: setnbc15:
752 ; CHECK: # %bb.0: # %entry
753 ; CHECK-NEXT: fcmpu cr0, f1, f2
754 ; CHECK-NEXT: setnbc r3, un
757 %cmp = fcmp uno float %a, %b
758 %sub = sext i1 %cmp to i64
762 ; Function Attrs: norecurse nounwind readnone
763 define signext i64 @setbcr15(float %a, float %b) {
764 ; CHECK-LABEL: setbcr15:
765 ; CHECK: # %bb.0: # %entry
766 ; CHECK-NEXT: fcmpu cr0, f1, f2
767 ; CHECK-NEXT: setbcr r3, un
770 %cmp = fcmp ord float %a, %b
771 %lnot.ext = zext i1 %cmp to i64
775 ; Function Attrs: norecurse nounwind readnone
776 define signext i64 @setnbcr15(float %a, float %b) {
777 ; CHECK-LABEL: setnbcr15:
778 ; CHECK: # %bb.0: # %entry
779 ; CHECK-NEXT: fcmpu cr0, f1, f2
780 ; CHECK-NEXT: setnbcr r3, un
783 %cmp = fcmp ord float %a, %b
784 %sub = sext i1 %cmp to i64
788 ; Function Attrs: norecurse nounwind readnone
789 define signext i64 @setbc16(double %a, double %b) {
790 ; CHECK-LABEL: setbc16:
791 ; CHECK: # %bb.0: # %entry
792 ; CHECK-NEXT: fcmpu cr0, f1, f2
793 ; CHECK-NEXT: setbc r3, un
796 %cmp = fcmp uno double %a, %b
797 %conv = zext i1 %cmp to i64
801 ; Function Attrs: norecurse nounwind readnone
802 define signext i64 @setnbc16(double %a, double %b) {
803 ; CHECK-LABEL: setnbc16:
804 ; CHECK: # %bb.0: # %entry
805 ; CHECK-NEXT: fcmpu cr0, f1, f2
806 ; CHECK-NEXT: setnbc r3, un
809 %cmp = fcmp uno double %a, %b
810 %sub = sext i1 %cmp to i64
814 ; Function Attrs: norecurse nounwind readnone
815 define signext i64 @setbcr16(double %a, double %b) {
816 ; CHECK-LABEL: setbcr16:
817 ; CHECK: # %bb.0: # %entry
818 ; CHECK-NEXT: fcmpu cr0, f1, f2
819 ; CHECK-NEXT: setbcr r3, un
822 %cmp = fcmp ord double %a, %b
823 %lnot.ext = zext i1 %cmp to i64
827 ; Function Attrs: norecurse nounwind readnone
828 define signext i64 @setnbcr16(double %a, double %b) {
829 ; CHECK-LABEL: setnbcr16:
830 ; CHECK: # %bb.0: # %entry
831 ; CHECK-NEXT: fcmpu cr0, f1, f2
832 ; CHECK-NEXT: setnbcr r3, un
835 %cmp = fcmp ord double %a, %b
836 %sub = sext i1 %cmp to i64
840 define signext i32 @setbc17(float %a, float %b) {
841 ; CHECK-LABEL: setbc17:
842 ; CHECK: # %bb.0: # %entry
843 ; CHECK-NEXT: fcmpu cr0, f1, f2
844 ; CHECK-NEXT: cror 4*cr5+lt, lt, un
845 ; CHECK-NEXT: setbc r3, 4*cr5+lt
848 %cmp = fcmp ult float %a, %b
849 %conv = zext i1 %cmp to i32
853 define signext i32 @setnbc17(float %a, float %b) {
854 ; CHECK-LABEL: setnbc17:
855 ; CHECK: # %bb.0: # %entry
856 ; CHECK-NEXT: fcmpu cr0, f1, f2
857 ; CHECK-NEXT: cror 4*cr5+lt, lt, un
858 ; CHECK-NEXT: setnbc r3, 4*cr5+lt
861 %cmp = fcmp ult float %a, %b
862 %conv = sext i1 %cmp to i32
866 define signext i32 @setbc18(double %a, double %b) {
867 ; CHECK-LABEL: setbc18:
868 ; CHECK: # %bb.0: # %entry
869 ; CHECK-NEXT: fcmpu cr0, f1, f2
870 ; CHECK-NEXT: cror 4*cr5+lt, lt, un
871 ; CHECK-NEXT: setbc r3, 4*cr5+lt
874 %cmp = fcmp ult double %a, %b
875 %conv = zext i1 %cmp to i32
879 define signext i32 @setnbc18(double %a, double %b) {
880 ; CHECK-LABEL: setnbc18:
881 ; CHECK: # %bb.0: # %entry
882 ; CHECK-NEXT: fcmpu cr0, f1, f2
883 ; CHECK-NEXT: cror 4*cr5+lt, lt, un
884 ; CHECK-NEXT: setnbc r3, 4*cr5+lt
887 %cmp = fcmp ult double %a, %b
888 %conv = sext i1 %cmp to i32
892 define signext i64 @setbc19(float %a, float %b) {
893 ; CHECK-LABEL: setbc19:
894 ; CHECK: # %bb.0: # %entry
895 ; CHECK-NEXT: fcmpu cr0, f1, f2
896 ; CHECK-NEXT: cror 4*cr5+lt, lt, un
897 ; CHECK-NEXT: setbc r3, 4*cr5+lt
900 %cmp = fcmp ult float %a, %b
901 %conv = zext i1 %cmp to i64
905 define signext i64 @setnbc19(float %a, float %b) {
906 ; CHECK-LABEL: setnbc19:
907 ; CHECK: # %bb.0: # %entry
908 ; CHECK-NEXT: fcmpu cr0, f1, f2
909 ; CHECK-NEXT: cror 4*cr5+lt, lt, un
910 ; CHECK-NEXT: setnbc r3, 4*cr5+lt
913 %cmp = fcmp ult float %a, %b
914 %conv = sext i1 %cmp to i64
918 define signext i64 @setbc20(double %a, double %b) {
919 ; CHECK-LABEL: setbc20:
920 ; CHECK: # %bb.0: # %entry
921 ; CHECK-NEXT: fcmpu cr0, f1, f2
922 ; CHECK-NEXT: cror 4*cr5+lt, lt, un
923 ; CHECK-NEXT: setbc r3, 4*cr5+lt
926 %cmp = fcmp ult double %a, %b
927 %conv = zext i1 %cmp to i64
931 define signext i64 @setnbc20(double %a, double %b) {
932 ; CHECK-LABEL: setnbc20:
933 ; CHECK: # %bb.0: # %entry
934 ; CHECK-NEXT: fcmpu cr0, f1, f2
935 ; CHECK-NEXT: cror 4*cr5+lt, lt, un
936 ; CHECK-NEXT: setnbc r3, 4*cr5+lt
939 %cmp = fcmp ult double %a, %b
940 %conv = sext i1 %cmp to i64
944 define signext i32 @setbc21(float %a, float %b) {
945 ; CHECK-LABEL: setbc21:
946 ; CHECK: # %bb.0: # %entry
947 ; CHECK-NEXT: fcmpu cr0, f1, f2
948 ; CHECK-NEXT: crnor 4*cr5+lt, un, lt
949 ; CHECK-NEXT: setbc r3, 4*cr5+lt
952 %cmp = fcmp oge float %a, %b
953 %conv = zext i1 %cmp to i32
957 define signext i32 @setnbc21(float %a, float %b) {
958 ; CHECK-LABEL: setnbc21:
959 ; CHECK: # %bb.0: # %entry
960 ; CHECK-NEXT: fcmpu cr0, f1, f2
961 ; CHECK-NEXT: crnor 4*cr5+lt, un, lt
962 ; CHECK-NEXT: setnbc r3, 4*cr5+lt
965 %cmp = fcmp oge float %a, %b
966 %conv = sext i1 %cmp to i32
970 define signext i32 @setbc22(double %a, double %b) {
971 ; CHECK-LABEL: setbc22:
972 ; CHECK: # %bb.0: # %entry
973 ; CHECK-NEXT: fcmpu cr0, f1, f2
974 ; CHECK-NEXT: crnor 4*cr5+lt, un, lt
975 ; CHECK-NEXT: setbc r3, 4*cr5+lt
978 %cmp = fcmp oge double %a, %b
979 %conv = zext i1 %cmp to i32
983 define signext i32 @setnbc22(double %a, double %b) {
984 ; CHECK-LABEL: setnbc22:
985 ; CHECK: # %bb.0: # %entry
986 ; CHECK-NEXT: fcmpu cr0, f1, f2
987 ; CHECK-NEXT: crnor 4*cr5+lt, un, lt
988 ; CHECK-NEXT: setnbc r3, 4*cr5+lt
991 %cmp = fcmp oge double %a, %b
992 %conv = sext i1 %cmp to i32
996 define signext i64 @setbc23(float %a, float %b) {
997 ; CHECK-LABEL: setbc23:
998 ; CHECK: # %bb.0: # %entry
999 ; CHECK-NEXT: fcmpu cr0, f1, f2
1000 ; CHECK-NEXT: crnor 4*cr5+lt, un, lt
1001 ; CHECK-NEXT: setbc r3, 4*cr5+lt
1004 %cmp = fcmp oge float %a, %b
1005 %conv = zext i1 %cmp to i64
1009 define signext i64 @setnbc23(float %a, float %b) {
1010 ; CHECK-LABEL: setnbc23:
1011 ; CHECK: # %bb.0: # %entry
1012 ; CHECK-NEXT: fcmpu cr0, f1, f2
1013 ; CHECK-NEXT: crnor 4*cr5+lt, un, lt
1014 ; CHECK-NEXT: setnbc r3, 4*cr5+lt
1017 %cmp = fcmp oge float %a, %b
1018 %conv = sext i1 %cmp to i64
1022 define signext i64 @setbc24(double %a, double %b) {
1023 ; CHECK-LABEL: setbc24:
1024 ; CHECK: # %bb.0: # %entry
1025 ; CHECK-NEXT: fcmpu cr0, f1, f2
1026 ; CHECK-NEXT: crnor 4*cr5+lt, un, lt
1027 ; CHECK-NEXT: setbc r3, 4*cr5+lt
1030 %cmp = fcmp oge double %a, %b
1031 %conv = zext i1 %cmp to i64
1035 define signext i64 @setnbc24(double %a, double %b) {
1036 ; CHECK-LABEL: setnbc24:
1037 ; CHECK: # %bb.0: # %entry
1038 ; CHECK-NEXT: fcmpu cr0, f1, f2
1039 ; CHECK-NEXT: crnor 4*cr5+lt, un, lt
1040 ; CHECK-NEXT: setnbc r3, 4*cr5+lt
1043 %cmp = fcmp oge double %a, %b
1044 %conv = sext i1 %cmp to i64
1048 define signext i32 @setbc25(float %a, float %b) {
1049 ; CHECK-LABEL: setbc25:
1050 ; CHECK: # %bb.0: # %entry
1051 ; CHECK-NEXT: fcmpu cr0, f1, f2
1052 ; CHECK-NEXT: crnor 4*cr5+lt, un, gt
1053 ; CHECK-NEXT: setbc r3, 4*cr5+lt
1056 %cmp = fcmp ole float %a, %b
1057 %conv = zext i1 %cmp to i32
1061 define signext i32 @setnbc25(float %a, float %b) {
1062 ; CHECK-LABEL: setnbc25:
1063 ; CHECK: # %bb.0: # %entry
1064 ; CHECK-NEXT: fcmpu cr0, f1, f2
1065 ; CHECK-NEXT: crnor 4*cr5+lt, un, gt
1066 ; CHECK-NEXT: setnbc r3, 4*cr5+lt
1069 %cmp = fcmp ole float %a, %b
1070 %conv = sext i1 %cmp to i32
1074 define signext i32 @setbc26(double %a, double %b) {
1075 ; CHECK-LABEL: setbc26:
1076 ; CHECK: # %bb.0: # %entry
1077 ; CHECK-NEXT: fcmpu cr0, f1, f2
1078 ; CHECK-NEXT: crnor 4*cr5+lt, un, gt
1079 ; CHECK-NEXT: setbc r3, 4*cr5+lt
1082 %cmp = fcmp ole double %a, %b
1083 %conv = zext i1 %cmp to i32
1087 define signext i32 @setnbc26(double %a, double %b) {
1088 ; CHECK-LABEL: setnbc26:
1089 ; CHECK: # %bb.0: # %entry
1090 ; CHECK-NEXT: fcmpu cr0, f1, f2
1091 ; CHECK-NEXT: crnor 4*cr5+lt, un, gt
1092 ; CHECK-NEXT: setnbc r3, 4*cr5+lt
1095 %cmp = fcmp ole double %a, %b
1096 %conv = sext i1 %cmp to i32
1100 define signext i64 @setbc27(float %a, float %b) {
1101 ; CHECK-LABEL: setbc27:
1102 ; CHECK: # %bb.0: # %entry
1103 ; CHECK-NEXT: fcmpu cr0, f1, f2
1104 ; CHECK-NEXT: crnor 4*cr5+lt, un, gt
1105 ; CHECK-NEXT: setbc r3, 4*cr5+lt
1108 %cmp = fcmp ole float %a, %b
1109 %conv = zext i1 %cmp to i64
1113 define signext i64 @setnbc27(float %a, float %b) {
1114 ; CHECK-LABEL: setnbc27:
1115 ; CHECK: # %bb.0: # %entry
1116 ; CHECK-NEXT: fcmpu cr0, f1, f2
1117 ; CHECK-NEXT: crnor 4*cr5+lt, un, gt
1118 ; CHECK-NEXT: setnbc r3, 4*cr5+lt
1121 %cmp = fcmp ole float %a, %b
1122 %conv = sext i1 %cmp to i64
1126 define signext i64 @setbc28(double %a, double %b) {
1127 ; CHECK-LABEL: setbc28:
1128 ; CHECK: # %bb.0: # %entry
1129 ; CHECK-NEXT: fcmpu cr0, f1, f2
1130 ; CHECK-NEXT: crnor 4*cr5+lt, un, gt
1131 ; CHECK-NEXT: setbc r3, 4*cr5+lt
1134 %cmp = fcmp ole double %a, %b
1135 %conv = zext i1 %cmp to i64
1139 define signext i64 @setnbc28(double %a, double %b) {
1140 ; CHECK-LABEL: setnbc28:
1141 ; CHECK: # %bb.0: # %entry
1142 ; CHECK-NEXT: fcmpu cr0, f1, f2
1143 ; CHECK-NEXT: crnor 4*cr5+lt, un, gt
1144 ; CHECK-NEXT: setnbc r3, 4*cr5+lt
1147 %cmp = fcmp ole double %a, %b
1148 %conv = sext i1 %cmp to i64
1152 define signext i32 @setbc29(float %a, float %b) {
1153 ; CHECK-LABEL: setbc29:
1154 ; CHECK: # %bb.0: # %entry
1155 ; CHECK-NEXT: fcmpu cr0, f1, f2
1156 ; CHECK-NEXT: cror 4*cr5+lt, gt, un
1157 ; CHECK-NEXT: setbc r3, 4*cr5+lt
1160 %cmp = fcmp ugt float %a, %b
1161 %conv = zext i1 %cmp to i32
1165 define signext i32 @setnbc29(float %a, float %b) {
1166 ; CHECK-LABEL: setnbc29:
1167 ; CHECK: # %bb.0: # %entry
1168 ; CHECK-NEXT: fcmpu cr0, f1, f2
1169 ; CHECK-NEXT: cror 4*cr5+lt, gt, un
1170 ; CHECK-NEXT: setnbc r3, 4*cr5+lt
1173 %cmp = fcmp ugt float %a, %b
1174 %conv = sext i1 %cmp to i32
1178 define signext i32 @setbc30(double %a, double %b) {
1179 ; CHECK-LABEL: setbc30:
1180 ; CHECK: # %bb.0: # %entry
1181 ; CHECK-NEXT: fcmpu cr0, f1, f2
1182 ; CHECK-NEXT: cror 4*cr5+lt, gt, un
1183 ; CHECK-NEXT: setbc r3, 4*cr5+lt
1186 %cmp = fcmp ugt double %a, %b
1187 %conv = zext i1 %cmp to i32
1191 define signext i32 @setnbc30(double %a, double %b) {
1192 ; CHECK-LABEL: setnbc30:
1193 ; CHECK: # %bb.0: # %entry
1194 ; CHECK-NEXT: fcmpu cr0, f1, f2
1195 ; CHECK-NEXT: cror 4*cr5+lt, gt, un
1196 ; CHECK-NEXT: setnbc r3, 4*cr5+lt
1199 %cmp = fcmp ugt double %a, %b
1200 %conv = sext i1 %cmp to i32
1204 define signext i64 @setbc31(float %a, float %b) {
1205 ; CHECK-LABEL: setbc31:
1206 ; CHECK: # %bb.0: # %entry
1207 ; CHECK-NEXT: fcmpu cr0, f1, f2
1208 ; CHECK-NEXT: cror 4*cr5+lt, gt, un
1209 ; CHECK-NEXT: setbc r3, 4*cr5+lt
1212 %cmp = fcmp ugt float %a, %b
1213 %conv = zext i1 %cmp to i64
1217 define signext i64 @setnbc31(float %a, float %b) {
1218 ; CHECK-LABEL: setnbc31:
1219 ; CHECK: # %bb.0: # %entry
1220 ; CHECK-NEXT: fcmpu cr0, f1, f2
1221 ; CHECK-NEXT: cror 4*cr5+lt, gt, un
1222 ; CHECK-NEXT: setnbc r3, 4*cr5+lt
1225 %cmp = fcmp ugt float %a, %b
1226 %conv = sext i1 %cmp to i64
1230 define signext i64 @setbc32(double %a, double %b) {
1231 ; CHECK-LABEL: setbc32:
1232 ; CHECK: # %bb.0: # %entry
1233 ; CHECK-NEXT: fcmpu cr0, f1, f2
1234 ; CHECK-NEXT: cror 4*cr5+lt, gt, un
1235 ; CHECK-NEXT: setbc r3, 4*cr5+lt
1238 %cmp = fcmp ugt double %a, %b
1239 %conv = zext i1 %cmp to i64
1243 define signext i64 @setnbc32(double %a, double %b) {
1244 ; CHECK-LABEL: setnbc32:
1245 ; CHECK: # %bb.0: # %entry
1246 ; CHECK-NEXT: fcmpu cr0, f1, f2
1247 ; CHECK-NEXT: cror 4*cr5+lt, gt, un
1248 ; CHECK-NEXT: setnbc r3, 4*cr5+lt
1251 %cmp = fcmp ugt double %a, %b
1252 %conv = sext i1 %cmp to i64
1256 define signext i32 @setbc33(float %a, float %b) {
1257 ; CHECK-LABEL: setbc33:
1258 ; CHECK: # %bb.0: # %entry
1259 ; CHECK-NEXT: fcmpu cr0, f1, f2
1260 ; CHECK-NEXT: cror 4*cr5+lt, eq, un
1261 ; CHECK-NEXT: setbc r3, 4*cr5+lt
1264 %cmp = fcmp ueq float %a, %b
1265 %conv = zext i1 %cmp to i32
1269 define signext i32 @setnbc33(float %a, float %b) {
1270 ; CHECK-LABEL: setnbc33:
1271 ; CHECK: # %bb.0: # %entry
1272 ; CHECK-NEXT: fcmpu cr0, f1, f2
1273 ; CHECK-NEXT: cror 4*cr5+lt, eq, un
1274 ; CHECK-NEXT: setnbc r3, 4*cr5+lt
1277 %cmp = fcmp ueq float %a, %b
1278 %conv = sext i1 %cmp to i32
1282 define signext i32 @setbc34(double %a, double %b) {
1283 ; CHECK-LABEL: setbc34:
1284 ; CHECK: # %bb.0: # %entry
1285 ; CHECK-NEXT: fcmpu cr0, f1, f2
1286 ; CHECK-NEXT: cror 4*cr5+lt, eq, un
1287 ; CHECK-NEXT: setbc r3, 4*cr5+lt
1290 %cmp = fcmp ueq double %a, %b
1291 %conv = zext i1 %cmp to i32
1295 define signext i32 @setnbc34(double %a, double %b) {
1296 ; CHECK-LABEL: setnbc34:
1297 ; CHECK: # %bb.0: # %entry
1298 ; CHECK-NEXT: fcmpu cr0, f1, f2
1299 ; CHECK-NEXT: cror 4*cr5+lt, eq, un
1300 ; CHECK-NEXT: setnbc r3, 4*cr5+lt
1303 %cmp = fcmp ueq double %a, %b
1304 %conv = sext i1 %cmp to i32
1308 define signext i64 @setbc35(float %a, float %b) {
1309 ; CHECK-LABEL: setbc35:
1310 ; CHECK: # %bb.0: # %entry
1311 ; CHECK-NEXT: fcmpu cr0, f1, f2
1312 ; CHECK-NEXT: cror 4*cr5+lt, eq, un
1313 ; CHECK-NEXT: setbc r3, 4*cr5+lt
1316 %cmp = fcmp ueq float %a, %b
1317 %conv = zext i1 %cmp to i64
1321 define signext i64 @setnbc35(float %a, float %b) {
1322 ; CHECK-LABEL: setnbc35:
1323 ; CHECK: # %bb.0: # %entry
1324 ; CHECK-NEXT: fcmpu cr0, f1, f2
1325 ; CHECK-NEXT: cror 4*cr5+lt, eq, un
1326 ; CHECK-NEXT: setnbc r3, 4*cr5+lt
1329 %cmp = fcmp ueq float %a, %b
1330 %conv = sext i1 %cmp to i64
1334 define signext i64 @setbc36(double %a, double %b) {
1335 ; CHECK-LABEL: setbc36:
1336 ; CHECK: # %bb.0: # %entry
1337 ; CHECK-NEXT: fcmpu cr0, f1, f2
1338 ; CHECK-NEXT: cror 4*cr5+lt, eq, un
1339 ; CHECK-NEXT: setbc r3, 4*cr5+lt
1342 %cmp = fcmp ueq double %a, %b
1343 %conv = zext i1 %cmp to i64
1347 define signext i64 @setnbc36(double %a, double %b) {
1348 ; CHECK-LABEL: setnbc36:
1349 ; CHECK: # %bb.0: # %entry
1350 ; CHECK-NEXT: fcmpu cr0, f1, f2
1351 ; CHECK-NEXT: cror 4*cr5+lt, eq, un
1352 ; CHECK-NEXT: setnbc r3, 4*cr5+lt
1355 %cmp = fcmp ueq double %a, %b
1356 %conv = sext i1 %cmp to i64
1360 define signext i32 @setbc37(float %a, float %b) {
1361 ; CHECK-LABEL: setbc37:
1362 ; CHECK: # %bb.0: # %entry
1363 ; CHECK-NEXT: fcmpu cr0, f1, f2
1364 ; CHECK-NEXT: crnor 4*cr5+lt, un, eq
1365 ; CHECK-NEXT: setbc r3, 4*cr5+lt
1368 %cmp = fcmp one float %a, %b
1369 %conv = zext i1 %cmp to i32
1373 define signext i32 @setnbc37(float %a, float %b) {
1374 ; CHECK-LABEL: setnbc37:
1375 ; CHECK: # %bb.0: # %entry
1376 ; CHECK-NEXT: fcmpu cr0, f1, f2
1377 ; CHECK-NEXT: crnor 4*cr5+lt, un, eq
1378 ; CHECK-NEXT: setnbc r3, 4*cr5+lt
1381 %cmp = fcmp one float %a, %b
1382 %conv = sext i1 %cmp to i32
1386 define signext i32 @setbc38(double %a, double %b) {
1387 ; CHECK-LABEL: setbc38:
1388 ; CHECK: # %bb.0: # %entry
1389 ; CHECK-NEXT: fcmpu cr0, f1, f2
1390 ; CHECK-NEXT: crnor 4*cr5+lt, un, eq
1391 ; CHECK-NEXT: setbc r3, 4*cr5+lt
1394 %cmp = fcmp one double %a, %b
1395 %conv = zext i1 %cmp to i32
1399 define signext i32 @setnbc38(double %a, double %b) {
1400 ; CHECK-LABEL: setnbc38:
1401 ; CHECK: # %bb.0: # %entry
1402 ; CHECK-NEXT: fcmpu cr0, f1, f2
1403 ; CHECK-NEXT: crnor 4*cr5+lt, un, eq
1404 ; CHECK-NEXT: setnbc r3, 4*cr5+lt
1407 %cmp = fcmp one double %a, %b
1408 %conv = sext i1 %cmp to i32
1412 define signext i64 @setbc39(float %a, float %b) {
1413 ; CHECK-LABEL: setbc39:
1414 ; CHECK: # %bb.0: # %entry
1415 ; CHECK-NEXT: fcmpu cr0, f1, f2
1416 ; CHECK-NEXT: crnor 4*cr5+lt, un, eq
1417 ; CHECK-NEXT: setbc r3, 4*cr5+lt
1420 %cmp = fcmp one float %a, %b
1421 %conv = zext i1 %cmp to i64
1425 define signext i64 @setnbc39(float %a, float %b) {
1426 ; CHECK-LABEL: setnbc39:
1427 ; CHECK: # %bb.0: # %entry
1428 ; CHECK-NEXT: fcmpu cr0, f1, f2
1429 ; CHECK-NEXT: crnor 4*cr5+lt, un, eq
1430 ; CHECK-NEXT: setnbc r3, 4*cr5+lt
1433 %cmp = fcmp one float %a, %b
1434 %conv = sext i1 %cmp to i64
1438 define signext i64 @setbc40(double %a, double %b) {
1439 ; CHECK-LABEL: setbc40:
1440 ; CHECK: # %bb.0: # %entry
1441 ; CHECK-NEXT: fcmpu cr0, f1, f2
1442 ; CHECK-NEXT: crnor 4*cr5+lt, un, eq
1443 ; CHECK-NEXT: setbc r3, 4*cr5+lt
1446 %cmp = fcmp one double %a, %b
1447 %conv = zext i1 %cmp to i64
1451 define signext i64 @setnbc40(double %a, double %b) {
1452 ; CHECK-LABEL: setnbc40:
1453 ; CHECK: # %bb.0: # %entry
1454 ; CHECK-NEXT: fcmpu cr0, f1, f2
1455 ; CHECK-NEXT: crnor 4*cr5+lt, un, eq
1456 ; CHECK-NEXT: setnbc r3, 4*cr5+lt
1459 %cmp = fcmp one double %a, %b
1460 %conv = sext i1 %cmp to i64