1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=riscv32 -mattr=+d -run-pass=instruction-select \
3 # RUN: -simplify-mir -verify-machineinstrs %s -o - | FileCheck %s
9 tracksRegLiveness: true
12 liveins: $f10_f, $f11_f
14 ; CHECK-LABEL: name: fcmp_oeq_f32
15 ; CHECK: liveins: $f10_f, $f11_f
17 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr32 = COPY $f10_f
18 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr32 = COPY $f11_f
19 ; CHECK-NEXT: [[FEQ_S:%[0-9]+]]:gpr = nofpexcept FEQ_S [[COPY]], [[COPY1]]
20 ; CHECK-NEXT: $x10 = COPY [[FEQ_S]]
21 ; CHECK-NEXT: PseudoRET implicit $x10
22 %0:fprb(s32) = COPY $f10_f
23 %1:fprb(s32) = COPY $f11_f
24 %4:gprb(s32) = G_FCMP floatpred(oeq), %0(s32), %1
26 PseudoRET implicit $x10
33 tracksRegLiveness: true
36 liveins: $f10_f, $f11_f
38 ; CHECK-LABEL: name: fcmp_ogt_f32
39 ; CHECK: liveins: $f10_f, $f11_f
41 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr32 = COPY $f10_f
42 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr32 = COPY $f11_f
43 ; CHECK-NEXT: [[FLT_S:%[0-9]+]]:gpr = FLT_S [[COPY1]], [[COPY]]
44 ; CHECK-NEXT: $x10 = COPY [[FLT_S]]
45 ; CHECK-NEXT: PseudoRET implicit $x10
46 %0:fprb(s32) = COPY $f10_f
47 %1:fprb(s32) = COPY $f11_f
48 %4:gprb(s32) = G_FCMP floatpred(ogt), %0(s32), %1
50 PseudoRET implicit $x10
57 tracksRegLiveness: true
60 liveins: $f10_f, $f11_f
62 ; CHECK-LABEL: name: fcmp_oge_f32
63 ; CHECK: liveins: $f10_f, $f11_f
65 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr32 = COPY $f10_f
66 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr32 = COPY $f11_f
67 ; CHECK-NEXT: [[FLE_S:%[0-9]+]]:gpr = FLE_S [[COPY1]], [[COPY]]
68 ; CHECK-NEXT: $x10 = COPY [[FLE_S]]
69 ; CHECK-NEXT: PseudoRET implicit $x10
70 %0:fprb(s32) = COPY $f10_f
71 %1:fprb(s32) = COPY $f11_f
72 %4:gprb(s32) = G_FCMP floatpred(oge), %0(s32), %1
74 PseudoRET implicit $x10
81 tracksRegLiveness: true
84 liveins: $f10_f, $f11_f
86 ; CHECK-LABEL: name: fcmp_olt_f32
87 ; CHECK: liveins: $f10_f, $f11_f
89 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr32 = COPY $f10_f
90 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr32 = COPY $f11_f
91 ; CHECK-NEXT: [[FLT_S:%[0-9]+]]:gpr = nofpexcept FLT_S [[COPY]], [[COPY1]]
92 ; CHECK-NEXT: $x10 = COPY [[FLT_S]]
93 ; CHECK-NEXT: PseudoRET implicit $x10
94 %0:fprb(s32) = COPY $f10_f
95 %1:fprb(s32) = COPY $f11_f
96 %4:gprb(s32) = G_FCMP floatpred(olt), %0(s32), %1
98 PseudoRET implicit $x10
104 regBankSelected: true
105 tracksRegLiveness: true
108 liveins: $f10_f, $f11_f
110 ; CHECK-LABEL: name: fcmp_ole_f32
111 ; CHECK: liveins: $f10_f, $f11_f
113 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr32 = COPY $f10_f
114 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr32 = COPY $f11_f
115 ; CHECK-NEXT: [[FLE_S:%[0-9]+]]:gpr = nofpexcept FLE_S [[COPY]], [[COPY1]]
116 ; CHECK-NEXT: $x10 = COPY [[FLE_S]]
117 ; CHECK-NEXT: PseudoRET implicit $x10
118 %0:fprb(s32) = COPY $f10_f
119 %1:fprb(s32) = COPY $f11_f
120 %4:gprb(s32) = G_FCMP floatpred(ole), %0(s32), %1
122 PseudoRET implicit $x10
128 regBankSelected: true
129 tracksRegLiveness: true
132 liveins: $f10_f, $f11_f
134 ; CHECK-LABEL: name: fcmp_one_f32
135 ; CHECK: liveins: $f10_f, $f11_f
137 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr32 = COPY $f10_f
138 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr32 = COPY $f11_f
139 ; CHECK-NEXT: [[FLT_S:%[0-9]+]]:gpr = FLT_S [[COPY]], [[COPY1]]
140 ; CHECK-NEXT: [[FLT_S1:%[0-9]+]]:gpr = FLT_S [[COPY1]], [[COPY]]
141 ; CHECK-NEXT: [[OR:%[0-9]+]]:gpr = OR [[FLT_S]], [[FLT_S1]]
142 ; CHECK-NEXT: $x10 = COPY [[OR]]
143 ; CHECK-NEXT: PseudoRET implicit $x10
144 %0:fprb(s32) = COPY $f10_f
145 %1:fprb(s32) = COPY $f11_f
146 %4:gprb(s32) = G_FCMP floatpred(one), %0(s32), %1
148 PseudoRET implicit $x10
154 regBankSelected: true
155 tracksRegLiveness: true
158 liveins: $f10_f, $f11_f
160 ; CHECK-LABEL: name: fcmp_ord_f32
161 ; CHECK: liveins: $f10_f, $f11_f
163 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr32 = COPY $f10_f
164 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr32 = COPY $f11_f
165 ; CHECK-NEXT: [[FEQ_S:%[0-9]+]]:gpr = FEQ_S [[COPY]], [[COPY]]
166 ; CHECK-NEXT: [[FEQ_S1:%[0-9]+]]:gpr = FEQ_S [[COPY1]], [[COPY1]]
167 ; CHECK-NEXT: [[AND:%[0-9]+]]:gpr = AND [[FEQ_S]], [[FEQ_S1]]
168 ; CHECK-NEXT: $x10 = COPY [[AND]]
169 ; CHECK-NEXT: PseudoRET implicit $x10
170 %0:fprb(s32) = COPY $f10_f
171 %1:fprb(s32) = COPY $f11_f
172 %4:gprb(s32) = G_FCMP floatpred(ord), %0(s32), %1
174 PseudoRET implicit $x10
180 regBankSelected: true
181 tracksRegLiveness: true
184 liveins: $f10_f, $f11_f
186 ; CHECK-LABEL: name: fcmp_ueq_f32
187 ; CHECK: liveins: $f10_f, $f11_f
189 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr32 = COPY $f10_f
190 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr32 = COPY $f11_f
191 ; CHECK-NEXT: [[FLT_S:%[0-9]+]]:gpr = FLT_S [[COPY]], [[COPY1]]
192 ; CHECK-NEXT: [[FLT_S1:%[0-9]+]]:gpr = FLT_S [[COPY1]], [[COPY]]
193 ; CHECK-NEXT: [[OR:%[0-9]+]]:gpr = OR [[FLT_S]], [[FLT_S1]]
194 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[OR]], 1
195 ; CHECK-NEXT: $x10 = COPY [[XORI]]
196 ; CHECK-NEXT: PseudoRET implicit $x10
197 %0:fprb(s32) = COPY $f10_f
198 %1:fprb(s32) = COPY $f11_f
199 %4:gprb(s32) = G_FCMP floatpred(ueq), %0(s32), %1
201 PseudoRET implicit $x10
207 regBankSelected: true
208 tracksRegLiveness: true
211 liveins: $f10_f, $f11_f
213 ; CHECK-LABEL: name: fcmp_ugt_f32
214 ; CHECK: liveins: $f10_f, $f11_f
216 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr32 = COPY $f10_f
217 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr32 = COPY $f11_f
218 ; CHECK-NEXT: [[FLE_S:%[0-9]+]]:gpr = FLE_S [[COPY]], [[COPY1]]
219 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[FLE_S]], 1
220 ; CHECK-NEXT: $x10 = COPY [[XORI]]
221 ; CHECK-NEXT: PseudoRET implicit $x10
222 %0:fprb(s32) = COPY $f10_f
223 %1:fprb(s32) = COPY $f11_f
224 %4:gprb(s32) = G_FCMP floatpred(ugt), %0(s32), %1
226 PseudoRET implicit $x10
232 regBankSelected: true
233 tracksRegLiveness: true
236 liveins: $f10_f, $f11_f
238 ; CHECK-LABEL: name: fcmp_uge_f32
239 ; CHECK: liveins: $f10_f, $f11_f
241 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr32 = COPY $f10_f
242 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr32 = COPY $f11_f
243 ; CHECK-NEXT: [[FLT_S:%[0-9]+]]:gpr = FLT_S [[COPY]], [[COPY1]]
244 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[FLT_S]], 1
245 ; CHECK-NEXT: $x10 = COPY [[XORI]]
246 ; CHECK-NEXT: PseudoRET implicit $x10
247 %0:fprb(s32) = COPY $f10_f
248 %1:fprb(s32) = COPY $f11_f
249 %4:gprb(s32) = G_FCMP floatpred(uge), %0(s32), %1
251 PseudoRET implicit $x10
257 regBankSelected: true
258 tracksRegLiveness: true
261 liveins: $f10_f, $f11_f
263 ; CHECK-LABEL: name: fcmp_ult_f32
264 ; CHECK: liveins: $f10_f, $f11_f
266 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr32 = COPY $f10_f
267 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr32 = COPY $f11_f
268 ; CHECK-NEXT: [[FLE_S:%[0-9]+]]:gpr = FLE_S [[COPY1]], [[COPY]]
269 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[FLE_S]], 1
270 ; CHECK-NEXT: $x10 = COPY [[XORI]]
271 ; CHECK-NEXT: PseudoRET implicit $x10
272 %0:fprb(s32) = COPY $f10_f
273 %1:fprb(s32) = COPY $f11_f
274 %4:gprb(s32) = G_FCMP floatpred(ult), %0(s32), %1
276 PseudoRET implicit $x10
282 regBankSelected: true
283 tracksRegLiveness: true
286 liveins: $f10_f, $f11_f
288 ; CHECK-LABEL: name: fcmp_ule_f32
289 ; CHECK: liveins: $f10_f, $f11_f
291 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr32 = COPY $f10_f
292 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr32 = COPY $f11_f
293 ; CHECK-NEXT: [[FLT_S:%[0-9]+]]:gpr = FLT_S [[COPY1]], [[COPY]]
294 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[FLT_S]], 1
295 ; CHECK-NEXT: $x10 = COPY [[XORI]]
296 ; CHECK-NEXT: PseudoRET implicit $x10
297 %0:fprb(s32) = COPY $f10_f
298 %1:fprb(s32) = COPY $f11_f
299 %4:gprb(s32) = G_FCMP floatpred(ule), %0(s32), %1
301 PseudoRET implicit $x10
307 regBankSelected: true
308 tracksRegLiveness: true
311 liveins: $f10_f, $f11_f
313 ; CHECK-LABEL: name: fcmp_une_f32
314 ; CHECK: liveins: $f10_f, $f11_f
316 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr32 = COPY $f10_f
317 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr32 = COPY $f11_f
318 ; CHECK-NEXT: [[FEQ_S:%[0-9]+]]:gpr = FEQ_S [[COPY]], [[COPY1]]
319 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[FEQ_S]], 1
320 ; CHECK-NEXT: $x10 = COPY [[XORI]]
321 ; CHECK-NEXT: PseudoRET implicit $x10
322 %0:fprb(s32) = COPY $f10_f
323 %1:fprb(s32) = COPY $f11_f
324 %4:gprb(s32) = G_FCMP floatpred(une), %0(s32), %1
326 PseudoRET implicit $x10
332 regBankSelected: true
333 tracksRegLiveness: true
336 liveins: $f10_f, $f11_f
338 ; CHECK-LABEL: name: fcmp_uno_f32
339 ; CHECK: liveins: $f10_f, $f11_f
341 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr32 = COPY $f10_f
342 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr32 = COPY $f11_f
343 ; CHECK-NEXT: [[FEQ_S:%[0-9]+]]:gpr = FEQ_S [[COPY]], [[COPY]]
344 ; CHECK-NEXT: [[FEQ_S1:%[0-9]+]]:gpr = FEQ_S [[COPY1]], [[COPY1]]
345 ; CHECK-NEXT: [[AND:%[0-9]+]]:gpr = AND [[FEQ_S]], [[FEQ_S1]]
346 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[AND]], 1
347 ; CHECK-NEXT: $x10 = COPY [[XORI]]
348 ; CHECK-NEXT: PseudoRET implicit $x10
349 %0:fprb(s32) = COPY $f10_f
350 %1:fprb(s32) = COPY $f11_f
351 %4:gprb(s32) = G_FCMP floatpred(uno), %0(s32), %1
353 PseudoRET implicit $x10
359 regBankSelected: true
360 tracksRegLiveness: true
363 liveins: $f10_d, $f11_d
365 ; CHECK-LABEL: name: fcmp_oeq_f64
366 ; CHECK: liveins: $f10_d, $f11_d
368 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $f10_d
369 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $f11_d
370 ; CHECK-NEXT: [[FEQ_D:%[0-9]+]]:gpr = nofpexcept FEQ_D [[COPY]], [[COPY1]]
371 ; CHECK-NEXT: $x10 = COPY [[FEQ_D]]
372 ; CHECK-NEXT: PseudoRET implicit $x10
373 %0:fprb(s64) = COPY $f10_d
374 %1:fprb(s64) = COPY $f11_d
375 %4:gprb(s32) = G_FCMP floatpred(oeq), %0(s64), %1
377 PseudoRET implicit $x10
383 regBankSelected: true
384 tracksRegLiveness: true
387 liveins: $f10_d, $f11_d
389 ; CHECK-LABEL: name: fcmp_ogt_f64
390 ; CHECK: liveins: $f10_d, $f11_d
392 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $f10_d
393 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $f11_d
394 ; CHECK-NEXT: [[FLT_D:%[0-9]+]]:gpr = FLT_D [[COPY1]], [[COPY]]
395 ; CHECK-NEXT: $x10 = COPY [[FLT_D]]
396 ; CHECK-NEXT: PseudoRET implicit $x10
397 %0:fprb(s64) = COPY $f10_d
398 %1:fprb(s64) = COPY $f11_d
399 %4:gprb(s32) = G_FCMP floatpred(ogt), %0(s64), %1
401 PseudoRET implicit $x10
407 regBankSelected: true
408 tracksRegLiveness: true
411 liveins: $f10_d, $f11_d
413 ; CHECK-LABEL: name: fcmp_oge_f64
414 ; CHECK: liveins: $f10_d, $f11_d
416 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $f10_d
417 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $f11_d
418 ; CHECK-NEXT: [[FLE_D:%[0-9]+]]:gpr = FLE_D [[COPY1]], [[COPY]]
419 ; CHECK-NEXT: $x10 = COPY [[FLE_D]]
420 ; CHECK-NEXT: PseudoRET implicit $x10
421 %0:fprb(s64) = COPY $f10_d
422 %1:fprb(s64) = COPY $f11_d
423 %4:gprb(s32) = G_FCMP floatpred(oge), %0(s64), %1
425 PseudoRET implicit $x10
431 regBankSelected: true
432 tracksRegLiveness: true
435 liveins: $f10_d, $f11_d
437 ; CHECK-LABEL: name: fcmp_olt_f64
438 ; CHECK: liveins: $f10_d, $f11_d
440 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $f10_d
441 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $f11_d
442 ; CHECK-NEXT: [[FLT_D:%[0-9]+]]:gpr = nofpexcept FLT_D [[COPY]], [[COPY1]]
443 ; CHECK-NEXT: $x10 = COPY [[FLT_D]]
444 ; CHECK-NEXT: PseudoRET implicit $x10
445 %0:fprb(s64) = COPY $f10_d
446 %1:fprb(s64) = COPY $f11_d
447 %4:gprb(s32) = G_FCMP floatpred(olt), %0(s64), %1
449 PseudoRET implicit $x10
455 regBankSelected: true
456 tracksRegLiveness: true
459 liveins: $f10_d, $f11_d
461 ; CHECK-LABEL: name: fcmp_ole_f64
462 ; CHECK: liveins: $f10_d, $f11_d
464 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $f10_d
465 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $f11_d
466 ; CHECK-NEXT: [[FLE_D:%[0-9]+]]:gpr = nofpexcept FLE_D [[COPY]], [[COPY1]]
467 ; CHECK-NEXT: $x10 = COPY [[FLE_D]]
468 ; CHECK-NEXT: PseudoRET implicit $x10
469 %0:fprb(s64) = COPY $f10_d
470 %1:fprb(s64) = COPY $f11_d
471 %4:gprb(s32) = G_FCMP floatpred(ole), %0(s64), %1
473 PseudoRET implicit $x10
479 regBankSelected: true
480 tracksRegLiveness: true
483 liveins: $f10_d, $f11_d
485 ; CHECK-LABEL: name: fcmp_one_f64
486 ; CHECK: liveins: $f10_d, $f11_d
488 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $f10_d
489 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $f11_d
490 ; CHECK-NEXT: [[FLT_D:%[0-9]+]]:gpr = FLT_D [[COPY]], [[COPY1]]
491 ; CHECK-NEXT: [[FLT_D1:%[0-9]+]]:gpr = FLT_D [[COPY1]], [[COPY]]
492 ; CHECK-NEXT: [[OR:%[0-9]+]]:gpr = OR [[FLT_D]], [[FLT_D1]]
493 ; CHECK-NEXT: $x10 = COPY [[OR]]
494 ; CHECK-NEXT: PseudoRET implicit $x10
495 %0:fprb(s64) = COPY $f10_d
496 %1:fprb(s64) = COPY $f11_d
497 %4:gprb(s32) = G_FCMP floatpred(one), %0(s64), %1
499 PseudoRET implicit $x10
505 regBankSelected: true
506 tracksRegLiveness: true
509 liveins: $f10_d, $f11_d
511 ; CHECK-LABEL: name: fcmp_ord_f64
512 ; CHECK: liveins: $f10_d, $f11_d
514 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $f10_d
515 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $f11_d
516 ; CHECK-NEXT: [[FEQ_D:%[0-9]+]]:gpr = FEQ_D [[COPY]], [[COPY]]
517 ; CHECK-NEXT: [[FEQ_D1:%[0-9]+]]:gpr = FEQ_D [[COPY1]], [[COPY1]]
518 ; CHECK-NEXT: [[AND:%[0-9]+]]:gpr = AND [[FEQ_D]], [[FEQ_D1]]
519 ; CHECK-NEXT: $x10 = COPY [[AND]]
520 ; CHECK-NEXT: PseudoRET implicit $x10
521 %0:fprb(s64) = COPY $f10_d
522 %1:fprb(s64) = COPY $f11_d
523 %4:gprb(s32) = G_FCMP floatpred(ord), %0(s64), %1
525 PseudoRET implicit $x10
531 regBankSelected: true
532 tracksRegLiveness: true
535 liveins: $f10_d, $f11_d
537 ; CHECK-LABEL: name: fcmp_ueq_f64
538 ; CHECK: liveins: $f10_d, $f11_d
540 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $f10_d
541 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $f11_d
542 ; CHECK-NEXT: [[FLT_D:%[0-9]+]]:gpr = FLT_D [[COPY]], [[COPY1]]
543 ; CHECK-NEXT: [[FLT_D1:%[0-9]+]]:gpr = FLT_D [[COPY1]], [[COPY]]
544 ; CHECK-NEXT: [[OR:%[0-9]+]]:gpr = OR [[FLT_D]], [[FLT_D1]]
545 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[OR]], 1
546 ; CHECK-NEXT: $x10 = COPY [[XORI]]
547 ; CHECK-NEXT: PseudoRET implicit $x10
548 %0:fprb(s64) = COPY $f10_d
549 %1:fprb(s64) = COPY $f11_d
550 %4:gprb(s32) = G_FCMP floatpred(ueq), %0(s64), %1
552 PseudoRET implicit $x10
558 regBankSelected: true
559 tracksRegLiveness: true
562 liveins: $f10_d, $f11_d
564 ; CHECK-LABEL: name: fcmp_ugt_f64
565 ; CHECK: liveins: $f10_d, $f11_d
567 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $f10_d
568 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $f11_d
569 ; CHECK-NEXT: [[FLE_D:%[0-9]+]]:gpr = FLE_D [[COPY]], [[COPY1]]
570 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[FLE_D]], 1
571 ; CHECK-NEXT: $x10 = COPY [[XORI]]
572 ; CHECK-NEXT: PseudoRET implicit $x10
573 %0:fprb(s64) = COPY $f10_d
574 %1:fprb(s64) = COPY $f11_d
575 %4:gprb(s32) = G_FCMP floatpred(ugt), %0(s64), %1
577 PseudoRET implicit $x10
583 regBankSelected: true
584 tracksRegLiveness: true
587 liveins: $f10_d, $f11_d
589 ; CHECK-LABEL: name: fcmp_uge_f64
590 ; CHECK: liveins: $f10_d, $f11_d
592 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $f10_d
593 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $f11_d
594 ; CHECK-NEXT: [[FLT_D:%[0-9]+]]:gpr = FLT_D [[COPY]], [[COPY1]]
595 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[FLT_D]], 1
596 ; CHECK-NEXT: $x10 = COPY [[XORI]]
597 ; CHECK-NEXT: PseudoRET implicit $x10
598 %0:fprb(s64) = COPY $f10_d
599 %1:fprb(s64) = COPY $f11_d
600 %4:gprb(s32) = G_FCMP floatpred(uge), %0(s64), %1
602 PseudoRET implicit $x10
608 regBankSelected: true
609 tracksRegLiveness: true
612 liveins: $f10_d, $f11_d
614 ; CHECK-LABEL: name: fcmp_ult_f64
615 ; CHECK: liveins: $f10_d, $f11_d
617 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $f10_d
618 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $f11_d
619 ; CHECK-NEXT: [[FLE_D:%[0-9]+]]:gpr = FLE_D [[COPY1]], [[COPY]]
620 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[FLE_D]], 1
621 ; CHECK-NEXT: $x10 = COPY [[XORI]]
622 ; CHECK-NEXT: PseudoRET implicit $x10
623 %0:fprb(s64) = COPY $f10_d
624 %1:fprb(s64) = COPY $f11_d
625 %4:gprb(s32) = G_FCMP floatpred(ult), %0(s64), %1
627 PseudoRET implicit $x10
633 regBankSelected: true
634 tracksRegLiveness: true
637 liveins: $f10_d, $f11_d
639 ; CHECK-LABEL: name: fcmp_ule_f64
640 ; CHECK: liveins: $f10_d, $f11_d
642 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $f10_d
643 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $f11_d
644 ; CHECK-NEXT: [[FLT_D:%[0-9]+]]:gpr = FLT_D [[COPY1]], [[COPY]]
645 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[FLT_D]], 1
646 ; CHECK-NEXT: $x10 = COPY [[XORI]]
647 ; CHECK-NEXT: PseudoRET implicit $x10
648 %0:fprb(s64) = COPY $f10_d
649 %1:fprb(s64) = COPY $f11_d
650 %4:gprb(s32) = G_FCMP floatpred(ule), %0(s64), %1
652 PseudoRET implicit $x10
658 regBankSelected: true
659 tracksRegLiveness: true
662 liveins: $f10_d, $f11_d
664 ; CHECK-LABEL: name: fcmp_une_f64
665 ; CHECK: liveins: $f10_d, $f11_d
667 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $f10_d
668 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $f11_d
669 ; CHECK-NEXT: [[FEQ_D:%[0-9]+]]:gpr = FEQ_D [[COPY]], [[COPY1]]
670 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[FEQ_D]], 1
671 ; CHECK-NEXT: $x10 = COPY [[XORI]]
672 ; CHECK-NEXT: PseudoRET implicit $x10
673 %0:fprb(s64) = COPY $f10_d
674 %1:fprb(s64) = COPY $f11_d
675 %4:gprb(s32) = G_FCMP floatpred(une), %0(s64), %1
677 PseudoRET implicit $x10
683 regBankSelected: true
684 tracksRegLiveness: true
687 liveins: $f10_d, $f11_d
689 ; CHECK-LABEL: name: fcmp_uno_f64
690 ; CHECK: liveins: $f10_d, $f11_d
692 ; CHECK-NEXT: [[COPY:%[0-9]+]]:fpr64 = COPY $f10_d
693 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:fpr64 = COPY $f11_d
694 ; CHECK-NEXT: [[FEQ_D:%[0-9]+]]:gpr = FEQ_D [[COPY]], [[COPY]]
695 ; CHECK-NEXT: [[FEQ_D1:%[0-9]+]]:gpr = FEQ_D [[COPY1]], [[COPY1]]
696 ; CHECK-NEXT: [[AND:%[0-9]+]]:gpr = AND [[FEQ_D]], [[FEQ_D1]]
697 ; CHECK-NEXT: [[XORI:%[0-9]+]]:gpr = XORI [[AND]], 1
698 ; CHECK-NEXT: $x10 = COPY [[XORI]]
699 ; CHECK-NEXT: PseudoRET implicit $x10
700 %0:fprb(s64) = COPY $f10_d
701 %1:fprb(s64) = COPY $f11_d
702 %4:gprb(s32) = G_FCMP floatpred(uno), %0(s64), %1
704 PseudoRET implicit $x10