# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -O0 -mtriple=mipsel-linux-gnu -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=FP32
# RUN: llc -O0 -mtriple=mipsel-linux-gnu -mattr=+fp64,+mips32r2 -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=FP64
--- |
define void @false_s() {entry: ret void}
define void @true_s() {entry: ret void}
define void @uno_s() {entry: ret void}
define void @ord_s() {entry: ret void}
define void @oeq_s() {entry: ret void}
define void @une_s() {entry: ret void}
define void @ueq_s() {entry: ret void}
define void @one_s() {entry: ret void}
define void @olt_s() {entry: ret void}
define void @uge_s() {entry: ret void}
define void @ult_s() {entry: ret void}
define void @oge_s() {entry: ret void}
define void @ole_s() {entry: ret void}
define void @ugt_s() {entry: ret void}
define void @ule_s() {entry: ret void}
define void @ogt_s() {entry: ret void}
define void @false_d() {entry: ret void}
define void @true_d() {entry: ret void}
define void @uno_d() {entry: ret void}
define void @ord_d() {entry: ret void}
define void @oeq_d() {entry: ret void}
define void @une_d() {entry: ret void}
define void @ueq_d() {entry: ret void}
define void @one_d() {entry: ret void}
define void @olt_d() {entry: ret void}
define void @uge_d() {entry: ret void}
define void @ult_d() {entry: ret void}
define void @oge_d() {entry: ret void}
define void @ole_d() {entry: ret void}
define void @ugt_d() {entry: ret void}
define void @ule_d() {entry: ret void}
define void @ogt_d() {entry: ret void}
...
---
name: false_s
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $f12, $f14
; FP32-LABEL: name: false_s
; FP32: liveins: $f12, $f14
; FP32: [[ORi:%[0-9]+]]:gpr32 = ORi $zero, 0
; FP32: $v0 = COPY [[ORi]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: false_s
; FP64: liveins: $f12, $f14
; FP64: [[ORi:%[0-9]+]]:gpr32 = ORi $zero, 0
; FP64: $v0 = COPY [[ORi]]
; FP64: RetRA implicit $v0
%5:gprb(s32) = G_CONSTANT i32 0
%4:gprb(s32) = COPY %5(s32)
$v0 = COPY %4(s32)
RetRA implicit $v0
...
---
name: true_s
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $f12, $f14
; FP32-LABEL: name: true_s
; FP32: liveins: $f12, $f14
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 65535
; FP32: $v0 = COPY [[ADDiu]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: true_s
; FP64: liveins: $f12, $f14
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 65535
; FP64: $v0 = COPY [[ADDiu]]
; FP64: RetRA implicit $v0
%5:gprb(s32) = G_CONSTANT i32 -1
%4:gprb(s32) = COPY %5(s32)
$v0 = COPY %4(s32)
RetRA implicit $v0
...
---
name: uno_s
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $f12, $f14
; FP32-LABEL: name: uno_s
; FP32: liveins: $f12, $f14
; FP32: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP32: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_S32 [[COPY]], [[COPY1]], 1, implicit-def $fcc0
; FP32: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVF_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: uno_s
; FP64: liveins: $f12, $f14
; FP64: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP64: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_S32 [[COPY]], [[COPY1]], 1, implicit-def $fcc0
; FP64: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVF_I]]
; FP64: RetRA implicit $v0
%0:fprb(s32) = COPY $f12
%1:fprb(s32) = COPY $f14
%4:gprb(s32) = G_FCMP floatpred(uno), %0(s32), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: ord_s
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $f12, $f14
; FP32-LABEL: name: ord_s
; FP32: liveins: $f12, $f14
; FP32: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP32: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_S32 [[COPY]], [[COPY1]], 1, implicit-def $fcc0
; FP32: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVT_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: ord_s
; FP64: liveins: $f12, $f14
; FP64: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP64: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_S32 [[COPY]], [[COPY1]], 1, implicit-def $fcc0
; FP64: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVT_I]]
; FP64: RetRA implicit $v0
%0:fprb(s32) = COPY $f12
%1:fprb(s32) = COPY $f14
%4:gprb(s32) = G_FCMP floatpred(ord), %0(s32), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: oeq_s
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $f12, $f14
; FP32-LABEL: name: oeq_s
; FP32: liveins: $f12, $f14
; FP32: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP32: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_S32 [[COPY]], [[COPY1]], 2, implicit-def $fcc0
; FP32: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVF_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: oeq_s
; FP64: liveins: $f12, $f14
; FP64: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP64: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_S32 [[COPY]], [[COPY1]], 2, implicit-def $fcc0
; FP64: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVF_I]]
; FP64: RetRA implicit $v0
%0:fprb(s32) = COPY $f12
%1:fprb(s32) = COPY $f14
%4:gprb(s32) = G_FCMP floatpred(oeq), %0(s32), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: une_s
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $f12, $f14
; FP32-LABEL: name: une_s
; FP32: liveins: $f12, $f14
; FP32: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP32: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_S32 [[COPY]], [[COPY1]], 2, implicit-def $fcc0
; FP32: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVT_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: une_s
; FP64: liveins: $f12, $f14
; FP64: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP64: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_S32 [[COPY]], [[COPY1]], 2, implicit-def $fcc0
; FP64: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVT_I]]
; FP64: RetRA implicit $v0
%0:fprb(s32) = COPY $f12
%1:fprb(s32) = COPY $f14
%4:gprb(s32) = G_FCMP floatpred(une), %0(s32), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: ueq_s
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $f12, $f14
; FP32-LABEL: name: ueq_s
; FP32: liveins: $f12, $f14
; FP32: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP32: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_S32 [[COPY]], [[COPY1]], 3, implicit-def $fcc0
; FP32: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVF_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: ueq_s
; FP64: liveins: $f12, $f14
; FP64: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP64: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_S32 [[COPY]], [[COPY1]], 3, implicit-def $fcc0
; FP64: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVF_I]]
; FP64: RetRA implicit $v0
%0:fprb(s32) = COPY $f12
%1:fprb(s32) = COPY $f14
%4:gprb(s32) = G_FCMP floatpred(ueq), %0(s32), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: one_s
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $f12, $f14
; FP32-LABEL: name: one_s
; FP32: liveins: $f12, $f14
; FP32: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP32: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_S32 [[COPY]], [[COPY1]], 3, implicit-def $fcc0
; FP32: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVT_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: one_s
; FP64: liveins: $f12, $f14
; FP64: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP64: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_S32 [[COPY]], [[COPY1]], 3, implicit-def $fcc0
; FP64: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVT_I]]
; FP64: RetRA implicit $v0
%0:fprb(s32) = COPY $f12
%1:fprb(s32) = COPY $f14
%4:gprb(s32) = G_FCMP floatpred(one), %0(s32), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: olt_s
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $f12, $f14
; FP32-LABEL: name: olt_s
; FP32: liveins: $f12, $f14
; FP32: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP32: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_S32 [[COPY]], [[COPY1]], 4, implicit-def $fcc0
; FP32: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVF_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: olt_s
; FP64: liveins: $f12, $f14
; FP64: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP64: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_S32 [[COPY]], [[COPY1]], 4, implicit-def $fcc0
; FP64: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVF_I]]
; FP64: RetRA implicit $v0
%0:fprb(s32) = COPY $f12
%1:fprb(s32) = COPY $f14
%4:gprb(s32) = G_FCMP floatpred(olt), %0(s32), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: uge_s
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $f12, $f14
; FP32-LABEL: name: uge_s
; FP32: liveins: $f12, $f14
; FP32: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP32: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_S32 [[COPY]], [[COPY1]], 4, implicit-def $fcc0
; FP32: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVT_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: uge_s
; FP64: liveins: $f12, $f14
; FP64: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP64: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_S32 [[COPY]], [[COPY1]], 4, implicit-def $fcc0
; FP64: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVT_I]]
; FP64: RetRA implicit $v0
%0:fprb(s32) = COPY $f12
%1:fprb(s32) = COPY $f14
%4:gprb(s32) = G_FCMP floatpred(uge), %0(s32), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: ult_s
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $f12, $f14
; FP32-LABEL: name: ult_s
; FP32: liveins: $f12, $f14
; FP32: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP32: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_S32 [[COPY]], [[COPY1]], 5, implicit-def $fcc0
; FP32: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVF_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: ult_s
; FP64: liveins: $f12, $f14
; FP64: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP64: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_S32 [[COPY]], [[COPY1]], 5, implicit-def $fcc0
; FP64: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVF_I]]
; FP64: RetRA implicit $v0
%0:fprb(s32) = COPY $f12
%1:fprb(s32) = COPY $f14
%4:gprb(s32) = G_FCMP floatpred(ult), %0(s32), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: oge_s
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $f12, $f14
; FP32-LABEL: name: oge_s
; FP32: liveins: $f12, $f14
; FP32: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP32: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_S32 [[COPY]], [[COPY1]], 5, implicit-def $fcc0
; FP32: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVT_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: oge_s
; FP64: liveins: $f12, $f14
; FP64: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP64: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_S32 [[COPY]], [[COPY1]], 5, implicit-def $fcc0
; FP64: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVT_I]]
; FP64: RetRA implicit $v0
%0:fprb(s32) = COPY $f12
%1:fprb(s32) = COPY $f14
%4:gprb(s32) = G_FCMP floatpred(oge), %0(s32), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: ole_s
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $f12, $f14
; FP32-LABEL: name: ole_s
; FP32: liveins: $f12, $f14
; FP32: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP32: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_S32 [[COPY]], [[COPY1]], 6, implicit-def $fcc0
; FP32: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVF_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: ole_s
; FP64: liveins: $f12, $f14
; FP64: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP64: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_S32 [[COPY]], [[COPY1]], 6, implicit-def $fcc0
; FP64: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVF_I]]
; FP64: RetRA implicit $v0
%0:fprb(s32) = COPY $f12
%1:fprb(s32) = COPY $f14
%4:gprb(s32) = G_FCMP floatpred(ole), %0(s32), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: ugt_s
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $f12, $f14
; FP32-LABEL: name: ugt_s
; FP32: liveins: $f12, $f14
; FP32: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP32: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_S32 [[COPY]], [[COPY1]], 6, implicit-def $fcc0
; FP32: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVT_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: ugt_s
; FP64: liveins: $f12, $f14
; FP64: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP64: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_S32 [[COPY]], [[COPY1]], 6, implicit-def $fcc0
; FP64: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVT_I]]
; FP64: RetRA implicit $v0
%0:fprb(s32) = COPY $f12
%1:fprb(s32) = COPY $f14
%4:gprb(s32) = G_FCMP floatpred(ugt), %0(s32), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: ule_s
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $f12, $f14
; FP32-LABEL: name: ule_s
; FP32: liveins: $f12, $f14
; FP32: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP32: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_S32 [[COPY]], [[COPY1]], 7, implicit-def $fcc0
; FP32: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVF_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: ule_s
; FP64: liveins: $f12, $f14
; FP64: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP64: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_S32 [[COPY]], [[COPY1]], 7, implicit-def $fcc0
; FP64: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVF_I]]
; FP64: RetRA implicit $v0
%0:fprb(s32) = COPY $f12
%1:fprb(s32) = COPY $f14
%4:gprb(s32) = G_FCMP floatpred(ule), %0(s32), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: ogt_s
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $f12, $f14
; FP32-LABEL: name: ogt_s
; FP32: liveins: $f12, $f14
; FP32: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP32: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_S32 [[COPY]], [[COPY1]], 7, implicit-def $fcc0
; FP32: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVT_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: ogt_s
; FP64: liveins: $f12, $f14
; FP64: [[COPY:%[0-9]+]]:fgr32 = COPY $f12
; FP64: [[COPY1:%[0-9]+]]:fgr32 = COPY $f14
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_S32 [[COPY]], [[COPY1]], 7, implicit-def $fcc0
; FP64: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVT_I]]
; FP64: RetRA implicit $v0
%0:fprb(s32) = COPY $f12
%1:fprb(s32) = COPY $f14
%4:gprb(s32) = G_FCMP floatpred(ogt), %0(s32), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: false_d
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $d6, $d7
; FP32-LABEL: name: false_d
; FP32: liveins: $d6, $d7
; FP32: [[ORi:%[0-9]+]]:gpr32 = ORi $zero, 0
; FP32: $v0 = COPY [[ORi]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: false_d
; FP64: liveins: $d6, $d7
; FP64: [[ORi:%[0-9]+]]:gpr32 = ORi $zero, 0
; FP64: $v0 = COPY [[ORi]]
; FP64: RetRA implicit $v0
%5:gprb(s32) = G_CONSTANT i32 0
%4:gprb(s32) = COPY %5(s32)
$v0 = COPY %4(s32)
RetRA implicit $v0
...
---
name: true_d
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $d6, $d7
; FP32-LABEL: name: true_d
; FP32: liveins: $d6, $d7
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 65535
; FP32: $v0 = COPY [[ADDiu]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: true_d
; FP64: liveins: $d6, $d7
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 65535
; FP64: $v0 = COPY [[ADDiu]]
; FP64: RetRA implicit $v0
%5:gprb(s32) = G_CONSTANT i32 -1
%4:gprb(s32) = COPY %5(s32)
$v0 = COPY %4(s32)
RetRA implicit $v0
...
---
name: uno_d
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $d6, $d7
; FP32-LABEL: name: uno_d
; FP32: liveins: $d6, $d7
; FP32: [[COPY:%[0-9]+]]:afgr64 = COPY $d6
; FP32: [[COPY1:%[0-9]+]]:afgr64 = COPY $d7
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_D32 [[COPY]], [[COPY1]], 1, implicit-def $fcc0
; FP32: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVF_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: uno_d
; FP64: liveins: $d6, $d7
; FP64: [[COPY:%[0-9]+]]:fgr64 = COPY $d6
; FP64: [[COPY1:%[0-9]+]]:fgr64 = COPY $d7
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_D64 [[COPY]], [[COPY1]], 1, implicit-def $fcc0
; FP64: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVF_I]]
; FP64: RetRA implicit $v0
%0:fprb(s64) = COPY $d6
%1:fprb(s64) = COPY $d7
%4:gprb(s32) = G_FCMP floatpred(uno), %0(s64), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: ord_d
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $d6, $d7
; FP32-LABEL: name: ord_d
; FP32: liveins: $d6, $d7
; FP32: [[COPY:%[0-9]+]]:afgr64 = COPY $d6
; FP32: [[COPY1:%[0-9]+]]:afgr64 = COPY $d7
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_D32 [[COPY]], [[COPY1]], 1, implicit-def $fcc0
; FP32: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVT_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: ord_d
; FP64: liveins: $d6, $d7
; FP64: [[COPY:%[0-9]+]]:fgr64 = COPY $d6
; FP64: [[COPY1:%[0-9]+]]:fgr64 = COPY $d7
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_D64 [[COPY]], [[COPY1]], 1, implicit-def $fcc0
; FP64: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVT_I]]
; FP64: RetRA implicit $v0
%0:fprb(s64) = COPY $d6
%1:fprb(s64) = COPY $d7
%4:gprb(s32) = G_FCMP floatpred(ord), %0(s64), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: oeq_d
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $d6, $d7
; FP32-LABEL: name: oeq_d
; FP32: liveins: $d6, $d7
; FP32: [[COPY:%[0-9]+]]:afgr64 = COPY $d6
; FP32: [[COPY1:%[0-9]+]]:afgr64 = COPY $d7
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_D32 [[COPY]], [[COPY1]], 2, implicit-def $fcc0
; FP32: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVF_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: oeq_d
; FP64: liveins: $d6, $d7
; FP64: [[COPY:%[0-9]+]]:fgr64 = COPY $d6
; FP64: [[COPY1:%[0-9]+]]:fgr64 = COPY $d7
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_D64 [[COPY]], [[COPY1]], 2, implicit-def $fcc0
; FP64: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVF_I]]
; FP64: RetRA implicit $v0
%0:fprb(s64) = COPY $d6
%1:fprb(s64) = COPY $d7
%4:gprb(s32) = G_FCMP floatpred(oeq), %0(s64), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: une_d
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $d6, $d7
; FP32-LABEL: name: une_d
; FP32: liveins: $d6, $d7
; FP32: [[COPY:%[0-9]+]]:afgr64 = COPY $d6
; FP32: [[COPY1:%[0-9]+]]:afgr64 = COPY $d7
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_D32 [[COPY]], [[COPY1]], 2, implicit-def $fcc0
; FP32: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVT_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: une_d
; FP64: liveins: $d6, $d7
; FP64: [[COPY:%[0-9]+]]:fgr64 = COPY $d6
; FP64: [[COPY1:%[0-9]+]]:fgr64 = COPY $d7
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_D64 [[COPY]], [[COPY1]], 2, implicit-def $fcc0
; FP64: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVT_I]]
; FP64: RetRA implicit $v0
%0:fprb(s64) = COPY $d6
%1:fprb(s64) = COPY $d7
%4:gprb(s32) = G_FCMP floatpred(une), %0(s64), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: ueq_d
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $d6, $d7
; FP32-LABEL: name: ueq_d
; FP32: liveins: $d6, $d7
; FP32: [[COPY:%[0-9]+]]:afgr64 = COPY $d6
; FP32: [[COPY1:%[0-9]+]]:afgr64 = COPY $d7
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_D32 [[COPY]], [[COPY1]], 3, implicit-def $fcc0
; FP32: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVF_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: ueq_d
; FP64: liveins: $d6, $d7
; FP64: [[COPY:%[0-9]+]]:fgr64 = COPY $d6
; FP64: [[COPY1:%[0-9]+]]:fgr64 = COPY $d7
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_D64 [[COPY]], [[COPY1]], 3, implicit-def $fcc0
; FP64: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVF_I]]
; FP64: RetRA implicit $v0
%0:fprb(s64) = COPY $d6
%1:fprb(s64) = COPY $d7
%4:gprb(s32) = G_FCMP floatpred(ueq), %0(s64), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: one_d
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $d6, $d7
; FP32-LABEL: name: one_d
; FP32: liveins: $d6, $d7
; FP32: [[COPY:%[0-9]+]]:afgr64 = COPY $d6
; FP32: [[COPY1:%[0-9]+]]:afgr64 = COPY $d7
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_D32 [[COPY]], [[COPY1]], 3, implicit-def $fcc0
; FP32: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVT_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: one_d
; FP64: liveins: $d6, $d7
; FP64: [[COPY:%[0-9]+]]:fgr64 = COPY $d6
; FP64: [[COPY1:%[0-9]+]]:fgr64 = COPY $d7
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_D64 [[COPY]], [[COPY1]], 3, implicit-def $fcc0
; FP64: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVT_I]]
; FP64: RetRA implicit $v0
%0:fprb(s64) = COPY $d6
%1:fprb(s64) = COPY $d7
%4:gprb(s32) = G_FCMP floatpred(one), %0(s64), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: olt_d
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $d6, $d7
; FP32-LABEL: name: olt_d
; FP32: liveins: $d6, $d7
; FP32: [[COPY:%[0-9]+]]:afgr64 = COPY $d6
; FP32: [[COPY1:%[0-9]+]]:afgr64 = COPY $d7
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_D32 [[COPY]], [[COPY1]], 4, implicit-def $fcc0
; FP32: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVF_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: olt_d
; FP64: liveins: $d6, $d7
; FP64: [[COPY:%[0-9]+]]:fgr64 = COPY $d6
; FP64: [[COPY1:%[0-9]+]]:fgr64 = COPY $d7
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_D64 [[COPY]], [[COPY1]], 4, implicit-def $fcc0
; FP64: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVF_I]]
; FP64: RetRA implicit $v0
%0:fprb(s64) = COPY $d6
%1:fprb(s64) = COPY $d7
%4:gprb(s32) = G_FCMP floatpred(olt), %0(s64), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: uge_d
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $d6, $d7
; FP32-LABEL: name: uge_d
; FP32: liveins: $d6, $d7
; FP32: [[COPY:%[0-9]+]]:afgr64 = COPY $d6
; FP32: [[COPY1:%[0-9]+]]:afgr64 = COPY $d7
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_D32 [[COPY]], [[COPY1]], 4, implicit-def $fcc0
; FP32: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVT_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: uge_d
; FP64: liveins: $d6, $d7
; FP64: [[COPY:%[0-9]+]]:fgr64 = COPY $d6
; FP64: [[COPY1:%[0-9]+]]:fgr64 = COPY $d7
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_D64 [[COPY]], [[COPY1]], 4, implicit-def $fcc0
; FP64: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVT_I]]
; FP64: RetRA implicit $v0
%0:fprb(s64) = COPY $d6
%1:fprb(s64) = COPY $d7
%4:gprb(s32) = G_FCMP floatpred(uge), %0(s64), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: ult_d
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $d6, $d7
; FP32-LABEL: name: ult_d
; FP32: liveins: $d6, $d7
; FP32: [[COPY:%[0-9]+]]:afgr64 = COPY $d6
; FP32: [[COPY1:%[0-9]+]]:afgr64 = COPY $d7
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_D32 [[COPY]], [[COPY1]], 5, implicit-def $fcc0
; FP32: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVF_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: ult_d
; FP64: liveins: $d6, $d7
; FP64: [[COPY:%[0-9]+]]:fgr64 = COPY $d6
; FP64: [[COPY1:%[0-9]+]]:fgr64 = COPY $d7
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_D64 [[COPY]], [[COPY1]], 5, implicit-def $fcc0
; FP64: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVF_I]]
; FP64: RetRA implicit $v0
%0:fprb(s64) = COPY $d6
%1:fprb(s64) = COPY $d7
%4:gprb(s32) = G_FCMP floatpred(ult), %0(s64), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: oge_d
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $d6, $d7
; FP32-LABEL: name: oge_d
; FP32: liveins: $d6, $d7
; FP32: [[COPY:%[0-9]+]]:afgr64 = COPY $d6
; FP32: [[COPY1:%[0-9]+]]:afgr64 = COPY $d7
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_D32 [[COPY]], [[COPY1]], 5, implicit-def $fcc0
; FP32: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVT_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: oge_d
; FP64: liveins: $d6, $d7
; FP64: [[COPY:%[0-9]+]]:fgr64 = COPY $d6
; FP64: [[COPY1:%[0-9]+]]:fgr64 = COPY $d7
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_D64 [[COPY]], [[COPY1]], 5, implicit-def $fcc0
; FP64: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVT_I]]
; FP64: RetRA implicit $v0
%0:fprb(s64) = COPY $d6
%1:fprb(s64) = COPY $d7
%4:gprb(s32) = G_FCMP floatpred(oge), %0(s64), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: ole_d
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $d6, $d7
; FP32-LABEL: name: ole_d
; FP32: liveins: $d6, $d7
; FP32: [[COPY:%[0-9]+]]:afgr64 = COPY $d6
; FP32: [[COPY1:%[0-9]+]]:afgr64 = COPY $d7
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_D32 [[COPY]], [[COPY1]], 6, implicit-def $fcc0
; FP32: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVF_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: ole_d
; FP64: liveins: $d6, $d7
; FP64: [[COPY:%[0-9]+]]:fgr64 = COPY $d6
; FP64: [[COPY1:%[0-9]+]]:fgr64 = COPY $d7
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_D64 [[COPY]], [[COPY1]], 6, implicit-def $fcc0
; FP64: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVF_I]]
; FP64: RetRA implicit $v0
%0:fprb(s64) = COPY $d6
%1:fprb(s64) = COPY $d7
%4:gprb(s32) = G_FCMP floatpred(ole), %0(s64), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: ugt_d
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $d6, $d7
; FP32-LABEL: name: ugt_d
; FP32: liveins: $d6, $d7
; FP32: [[COPY:%[0-9]+]]:afgr64 = COPY $d6
; FP32: [[COPY1:%[0-9]+]]:afgr64 = COPY $d7
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_D32 [[COPY]], [[COPY1]], 6, implicit-def $fcc0
; FP32: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVT_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: ugt_d
; FP64: liveins: $d6, $d7
; FP64: [[COPY:%[0-9]+]]:fgr64 = COPY $d6
; FP64: [[COPY1:%[0-9]+]]:fgr64 = COPY $d7
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_D64 [[COPY]], [[COPY1]], 6, implicit-def $fcc0
; FP64: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVT_I]]
; FP64: RetRA implicit $v0
%0:fprb(s64) = COPY $d6
%1:fprb(s64) = COPY $d7
%4:gprb(s32) = G_FCMP floatpred(ugt), %0(s64), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: ule_d
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $d6, $d7
; FP32-LABEL: name: ule_d
; FP32: liveins: $d6, $d7
; FP32: [[COPY:%[0-9]+]]:afgr64 = COPY $d6
; FP32: [[COPY1:%[0-9]+]]:afgr64 = COPY $d7
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_D32 [[COPY]], [[COPY1]], 7, implicit-def $fcc0
; FP32: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVF_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: ule_d
; FP64: liveins: $d6, $d7
; FP64: [[COPY:%[0-9]+]]:fgr64 = COPY $d6
; FP64: [[COPY1:%[0-9]+]]:fgr64 = COPY $d7
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_D64 [[COPY]], [[COPY1]], 7, implicit-def $fcc0
; FP64: [[MOVF_I:%[0-9]+]]:gpr32 = MOVF_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVF_I]]
; FP64: RetRA implicit $v0
%0:fprb(s64) = COPY $d6
%1:fprb(s64) = COPY $d7
%4:gprb(s32) = G_FCMP floatpred(ule), %0(s64), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...
---
name: ogt_d
alignment: 4
legalized: true
regBankSelected: true
tracksRegLiveness: true
body: |
bb.1.entry:
liveins: $d6, $d7
; FP32-LABEL: name: ogt_d
; FP32: liveins: $d6, $d7
; FP32: [[COPY:%[0-9]+]]:afgr64 = COPY $d6
; FP32: [[COPY1:%[0-9]+]]:afgr64 = COPY $d7
; FP32: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP32: FCMP_D32 [[COPY]], [[COPY1]], 7, implicit-def $fcc0
; FP32: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP32: $v0 = COPY [[MOVT_I]]
; FP32: RetRA implicit $v0
; FP64-LABEL: name: ogt_d
; FP64: liveins: $d6, $d7
; FP64: [[COPY:%[0-9]+]]:fgr64 = COPY $d6
; FP64: [[COPY1:%[0-9]+]]:fgr64 = COPY $d7
; FP64: [[ADDiu:%[0-9]+]]:gpr32 = ADDiu $zero, 1
; FP64: FCMP_D64 [[COPY]], [[COPY1]], 7, implicit-def $fcc0
; FP64: [[MOVT_I:%[0-9]+]]:gpr32 = MOVT_I $zero, $fcc0, [[ADDiu]]
; FP64: $v0 = COPY [[MOVT_I]]
; FP64: RetRA implicit $v0
%0:fprb(s64) = COPY $d6
%1:fprb(s64) = COPY $d7
%4:gprb(s32) = G_FCMP floatpred(ogt), %0(s64), %1
%3:gprb(s32) = COPY %4(s32)
$v0 = COPY %3(s32)
RetRA implicit $v0
...