400 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52# NOTE: This MIR test is required because the support for 64 bit memory ops is missing in i686 mode, Due to distinction between float/int types, support is expected in near future and there is this RFC in place https://discourse.llvm.org/t/rfc-globalisel-adding-fp-type-information-to-llt/83349. Once this support is introduced this test must be dropped and integrated into the LLVM IR tests.3# RUN: llc -mtriple=i686-linux-gnu -mattr=+x87,-sse,-sse2 -run-pass=regbankselect,instruction-select -disable-gisel-legality-check -global-isel %s -o - | FileCheck %s --check-prefixes GISEL-X864 5---6name: fcmp_double_oeq7alignment: 168exposesReturnsTwice: false9legalized: true10tracksRegLiveness: true11fixedStack:12 - { id: 0, type: default, offset: 8, size: 8, alignment: 8, stack-id: default,13 isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,14 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }15 16stack: []17body: |18 bb.1.entry:19 ; GISEL-X86-LABEL: name: fcmp_double_oeq20 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)21 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)22 ; GISEL-X86-NEXT: UCOM_FpIr64 [[LD_Fp64m]], [[LD_Fp64m1]], implicit-def $eflags, implicit-def $fpsw, implicit $fpcw23 ; GISEL-X86-NEXT: [[SETCCr:%[0-9]+]]:gr8 = SETCCr 4, implicit $eflags24 ; GISEL-X86-NEXT: [[SETCCr1:%[0-9]+]]:gr8 = SETCCr 11, implicit $eflags25 ; GISEL-X86-NEXT: [[AND8rr:%[0-9]+]]:gr8 = AND8rr [[SETCCr]], [[SETCCr1]], implicit-def $eflags26 ; GISEL-X86-NEXT: $al = COPY [[AND8rr]]27 ; GISEL-X86-NEXT: RET 0, implicit $al28 %3:_(p0) = G_FRAME_INDEX %fixed-stack.029 %2:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0, align 8)30 %1:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0 + 8, basealign 8)31 %4:_(s8) = G_FCMP floatpred(oeq), %2(s64), %132 $al = COPY %4(s8)33 RET 0, implicit $al34 35...36---37name: fcmp_double_ogt38alignment: 1639legalized: true40tracksRegLiveness: true41fixedStack:42 - { id: 0, type: default, offset: 8, size: 8, alignment: 8, stack-id: default,43 isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,44 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }45 46stack: []47body: |48 bb.1.entry:49 ; GISEL-X86-LABEL: name: fcmp_double_ogt50 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)51 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)52 ; GISEL-X86-NEXT: UCOM_FpIr64 [[LD_Fp64m]], [[LD_Fp64m1]], implicit-def $eflags, implicit-def $fpsw, implicit $fpcw53 ; GISEL-X86-NEXT: [[SETCCr:%[0-9]+]]:gr8 = SETCCr 7, implicit $eflags54 ; GISEL-X86-NEXT: $al = COPY [[SETCCr]]55 ; GISEL-X86-NEXT: RET 0, implicit $al56 %3:_(p0) = G_FRAME_INDEX %fixed-stack.057 %2:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0, align 8)58 %1:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0 + 8, basealign 8)59 %4:_(s8) = G_FCMP floatpred(ogt), %2(s64), %160 $al = COPY %4(s8)61 RET 0, implicit $al62 63...64---65name: fcmp_double_oge66alignment: 1667exposesReturnsTwice: false68legalized: true69tracksRegLiveness: true70fixedStack:71 - { id: 0, type: default, offset: 8, size: 8, alignment: 8, stack-id: default,72 isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,73 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }74stack: []75body: |76 bb.1.entry:77 ; GISEL-X86-LABEL: name: fcmp_double_oge78 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)79 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)80 ; GISEL-X86-NEXT: UCOM_FpIr64 [[LD_Fp64m]], [[LD_Fp64m1]], implicit-def $eflags, implicit-def $fpsw, implicit $fpcw81 ; GISEL-X86-NEXT: [[SETCCr:%[0-9]+]]:gr8 = SETCCr 3, implicit $eflags82 ; GISEL-X86-NEXT: $al = COPY [[SETCCr]]83 ; GISEL-X86-NEXT: RET 0, implicit $al84 %3:_(p0) = G_FRAME_INDEX %fixed-stack.085 %2:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0, align 8)86 %1:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0 + 8, basealign 8)87 %4:_(s8) = G_FCMP floatpred(oge), %2(s64), %188 $al = COPY %4(s8)89 RET 0, implicit $al90 91...92---93name: fcmp_double_olt94alignment: 1695exposesReturnsTwice: false96legalized: true97tracksRegLiveness: true98fixedStack:99 - { id: 0, type: default, offset: 8, size: 8, alignment: 8, stack-id: default,100 isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,101 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }102 103body: |104 bb.1.entry:105 ; GISEL-X86-LABEL: name: fcmp_double_olt106 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)107 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)108 ; GISEL-X86-NEXT: UCOM_FpIr64 [[LD_Fp64m1]], [[LD_Fp64m]], implicit-def $eflags, implicit-def $fpsw, implicit $fpcw109 ; GISEL-X86-NEXT: [[SETCCr:%[0-9]+]]:gr8 = SETCCr 7, implicit $eflags110 ; GISEL-X86-NEXT: $al = COPY [[SETCCr]]111 ; GISEL-X86-NEXT: RET 0, implicit $al112 %3:_(p0) = G_FRAME_INDEX %fixed-stack.0113 %2:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0, align 8)114 %1:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0 + 8, basealign 8)115 %4:_(s8) = G_FCMP floatpred(olt), %2(s64), %1116 $al = COPY %4(s8)117 RET 0, implicit $al118 119...120---121name: fcmp_double_ole122alignment: 16123exposesReturnsTwice: false124legalized: true125tracksRegLiveness: true126fixedStack:127 - { id: 0, type: default, offset: 8, size: 8, alignment: 8, stack-id: default,128 isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,129 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }130stack: []131body: |132 bb.1.entry:133 ; GISEL-X86-LABEL: name: fcmp_double_ole134 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)135 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)136 ; GISEL-X86-NEXT: UCOM_FpIr64 [[LD_Fp64m1]], [[LD_Fp64m]], implicit-def $eflags, implicit-def $fpsw, implicit $fpcw137 ; GISEL-X86-NEXT: [[SETCCr:%[0-9]+]]:gr8 = SETCCr 3, implicit $eflags138 ; GISEL-X86-NEXT: $al = COPY [[SETCCr]]139 ; GISEL-X86-NEXT: RET 0, implicit $al140 %3:_(p0) = G_FRAME_INDEX %fixed-stack.0141 %2:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0, align 8)142 %1:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0 + 8, basealign 8)143 %4:_(s8) = G_FCMP floatpred(ole), %2(s64), %1144 $al = COPY %4(s8)145 RET 0, implicit $al146 147...148---149name: fcmp_double_one150alignment: 16151exposesReturnsTwice: false152legalized: true153tracksRegLiveness: true154fixedStack:155 - { id: 0, type: default, offset: 8, size: 8, alignment: 8, stack-id: default,156 isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,157 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }158body: |159 bb.1.entry:160 ; GISEL-X86-LABEL: name: fcmp_double_one161 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)162 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)163 ; GISEL-X86-NEXT: UCOM_FpIr64 [[LD_Fp64m]], [[LD_Fp64m1]], implicit-def $eflags, implicit-def $fpsw, implicit $fpcw164 ; GISEL-X86-NEXT: [[SETCCr:%[0-9]+]]:gr8 = SETCCr 5, implicit $eflags165 ; GISEL-X86-NEXT: $al = COPY [[SETCCr]]166 ; GISEL-X86-NEXT: RET 0, implicit $al167 %3:_(p0) = G_FRAME_INDEX %fixed-stack.0168 %2:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0, align 8)169 %1:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0 + 8, basealign 8)170 %4:_(s8) = G_FCMP floatpred(one), %2(s64), %1171 $al = COPY %4(s8)172 RET 0, implicit $al173 174...175---176name: fcmp_double_ord177alignment: 16178exposesReturnsTwice: false179legalized: true180tracksRegLiveness: true181fixedStack:182 - { id: 0, type: default, offset: 8, size: 8, alignment: 8, stack-id: default,183 isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,184 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }185stack: []186body: |187 bb.1.entry:188 ; GISEL-X86-LABEL: name: fcmp_double_ord189 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)190 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)191 ; GISEL-X86-NEXT: UCOM_FpIr64 [[LD_Fp64m]], [[LD_Fp64m1]], implicit-def $eflags, implicit-def $fpsw, implicit $fpcw192 ; GISEL-X86-NEXT: [[SETCCr:%[0-9]+]]:gr8 = SETCCr 11, implicit $eflags193 ; GISEL-X86-NEXT: $al = COPY [[SETCCr]]194 ; GISEL-X86-NEXT: RET 0, implicit $al195 %3:_(p0) = G_FRAME_INDEX %fixed-stack.0196 %2:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0, align 8)197 %1:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0 + 8, basealign 8)198 %4:_(s8) = G_FCMP floatpred(ord), %2(s64), %1199 $al = COPY %4(s8)200 RET 0, implicit $al201 202...203---204name: fcmp_double_uno205alignment: 16206exposesReturnsTwice: false207legalized: true208fixedStack:209 - { id: 0, type: default, offset: 8, size: 8, alignment: 8, stack-id: default,210 isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,211 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }212stack: []213body: |214 bb.1.entry:215 ; GISEL-X86-LABEL: name: fcmp_double_uno216 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)217 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)218 ; GISEL-X86-NEXT: UCOM_FpIr64 [[LD_Fp64m]], [[LD_Fp64m1]], implicit-def $eflags, implicit-def $fpsw, implicit $fpcw219 ; GISEL-X86-NEXT: [[SETCCr:%[0-9]+]]:gr8 = SETCCr 10, implicit $eflags220 ; GISEL-X86-NEXT: $al = COPY [[SETCCr]]221 ; GISEL-X86-NEXT: RET 0, implicit $al222 %3:_(p0) = G_FRAME_INDEX %fixed-stack.0223 %2:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0, align 8)224 %1:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0 + 8, basealign 8)225 %4:_(s8) = G_FCMP floatpred(uno), %2(s64), %1226 $al = COPY %4(s8)227 RET 0, implicit $al228 229...230---231name: fcmp_double_ueq232alignment: 16233exposesReturnsTwice: false234legalized: true235tracksRegLiveness: true236fixedStack:237 - { id: 0, type: default, offset: 8, size: 8, alignment: 8, stack-id: default,238 isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,239 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }240stack: []241body: |242 bb.1.entry:243 ; GISEL-X86-LABEL: name: fcmp_double_ueq244 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)245 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)246 ; GISEL-X86-NEXT: UCOM_FpIr64 [[LD_Fp64m]], [[LD_Fp64m1]], implicit-def $eflags, implicit-def $fpsw, implicit $fpcw247 ; GISEL-X86-NEXT: [[SETCCr:%[0-9]+]]:gr8 = SETCCr 4, implicit $eflags248 ; GISEL-X86-NEXT: $al = COPY [[SETCCr]]249 ; GISEL-X86-NEXT: RET 0, implicit $al250 %3:_(p0) = G_FRAME_INDEX %fixed-stack.0251 %2:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0, align 8)252 %1:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0 + 8, basealign 8)253 %4:_(s8) = G_FCMP floatpred(ueq), %2(s64), %1254 $al = COPY %4(s8)255 RET 0, implicit $al256 257...258---259name: fcmp_double_ugt260alignment: 16261exposesReturnsTwice: false262legalized: true263tracksRegLiveness: true264fixedStack:265 - { id: 0, type: default, offset: 8, size: 8, alignment: 8, stack-id: default,266 isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,267 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }268 269stack: []270body: |271 bb.1.entry:272 ; GISEL-X86-LABEL: name: fcmp_double_ugt273 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)274 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)275 ; GISEL-X86-NEXT: UCOM_FpIr64 [[LD_Fp64m1]], [[LD_Fp64m]], implicit-def $eflags, implicit-def $fpsw, implicit $fpcw276 ; GISEL-X86-NEXT: [[SETCCr:%[0-9]+]]:gr8 = SETCCr 2, implicit $eflags277 ; GISEL-X86-NEXT: $al = COPY [[SETCCr]]278 ; GISEL-X86-NEXT: RET 0, implicit $al279 %3:_(p0) = G_FRAME_INDEX %fixed-stack.0280 %2:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0, align 8)281 %1:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0 + 8, basealign 8)282 %4:_(s8) = G_FCMP floatpred(ugt), %2(s64), %1283 $al = COPY %4(s8)284 RET 0, implicit $al285 286...287---288name: fcmp_double_uge289alignment: 16290exposesReturnsTwice: false291legalized: true292tracksRegLiveness: true293fixedStack:294 - { id: 0, type: default, offset: 8, size: 8, alignment: 8, stack-id: default,295 isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,296 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }297stack: []298body: |299 bb.1.entry:300 ; GISEL-X86-LABEL: name: fcmp_double_uge301 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)302 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)303 ; GISEL-X86-NEXT: UCOM_FpIr64 [[LD_Fp64m1]], [[LD_Fp64m]], implicit-def $eflags, implicit-def $fpsw, implicit $fpcw304 ; GISEL-X86-NEXT: [[SETCCr:%[0-9]+]]:gr8 = SETCCr 6, implicit $eflags305 ; GISEL-X86-NEXT: $al = COPY [[SETCCr]]306 ; GISEL-X86-NEXT: RET 0, implicit $al307 %3:_(p0) = G_FRAME_INDEX %fixed-stack.0308 %2:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0, align 8)309 %1:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0 + 8, basealign 8)310 %4:_(s8) = G_FCMP floatpred(uge), %2(s64), %1311 $al = COPY %4(s8)312 RET 0, implicit $al313 314...315---316name: fcmp_double_ult317alignment: 16318exposesReturnsTwice: false319legalized: true320tracksRegLiveness: true321 322fixedStack:323 - { id: 0, type: default, offset: 8, size: 8, alignment: 8, stack-id: default,324 isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,325 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }326stack: []327body: |328 bb.1.entry:329 ; GISEL-X86-LABEL: name: fcmp_double_ult330 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)331 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)332 ; GISEL-X86-NEXT: UCOM_FpIr64 [[LD_Fp64m]], [[LD_Fp64m1]], implicit-def $eflags, implicit-def $fpsw, implicit $fpcw333 ; GISEL-X86-NEXT: [[SETCCr:%[0-9]+]]:gr8 = SETCCr 2, implicit $eflags334 ; GISEL-X86-NEXT: $al = COPY [[SETCCr]]335 ; GISEL-X86-NEXT: RET 0, implicit $al336 %3:_(p0) = G_FRAME_INDEX %fixed-stack.0337 %2:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0, align 8)338 %1:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0 + 8, basealign 8)339 %4:_(s8) = G_FCMP floatpred(ult), %2(s64), %1340 $al = COPY %4(s8)341 RET 0, implicit $al342 343...344---345name: fcmp_double_ule346alignment: 16347exposesReturnsTwice: false348legalized: true349tracksRegLiveness: true350fixedStack:351 - { id: 0, type: default, offset: 8, size: 8, alignment: 8, stack-id: default,352 isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,353 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }354stack: []355body: |356 bb.1.entry:357 ; GISEL-X86-LABEL: name: fcmp_double_ule358 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)359 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)360 ; GISEL-X86-NEXT: UCOM_FpIr64 [[LD_Fp64m]], [[LD_Fp64m1]], implicit-def $eflags, implicit-def $fpsw, implicit $fpcw361 ; GISEL-X86-NEXT: [[SETCCr:%[0-9]+]]:gr8 = SETCCr 6, implicit $eflags362 ; GISEL-X86-NEXT: $al = COPY [[SETCCr]]363 ; GISEL-X86-NEXT: RET 0, implicit $al364 %3:_(p0) = G_FRAME_INDEX %fixed-stack.0365 %2:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0, align 8)366 %1:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0 + 8, basealign 8)367 %4:_(s8) = G_FCMP floatpred(ule), %2(s64), %1368 $al = COPY %4(s8)369 RET 0, implicit $al370 371...372---373name: fcmp_double_une374alignment: 16375exposesReturnsTwice: false376legalized: true377tracksRegLiveness: true378fixedStack:379 - { id: 0, type: default, offset: 8, size: 8, alignment: 8, stack-id: default,380 isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,381 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }382body: |383 bb.1.entry:384 ; GISEL-X86-LABEL: name: fcmp_double_une385 ; GISEL-X86: [[LD_Fp64m:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0)386 ; GISEL-X86-NEXT: [[LD_Fp64m1:%[0-9]+]]:rfp64 = nofpexcept LD_Fp64m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (invariant load (s64) from %fixed-stack.0 + 8)387 ; GISEL-X86-NEXT: UCOM_FpIr64 [[LD_Fp64m]], [[LD_Fp64m1]], implicit-def $eflags, implicit-def $fpsw, implicit $fpcw388 ; GISEL-X86-NEXT: [[SETCCr:%[0-9]+]]:gr8 = SETCCr 5, implicit $eflags389 ; GISEL-X86-NEXT: [[SETCCr1:%[0-9]+]]:gr8 = SETCCr 10, implicit $eflags390 ; GISEL-X86-NEXT: [[OR8rr:%[0-9]+]]:gr8 = OR8rr [[SETCCr]], [[SETCCr1]], implicit-def $eflags391 ; GISEL-X86-NEXT: $al = COPY [[OR8rr]]392 ; GISEL-X86-NEXT: RET 0, implicit $al393 %3:_(p0) = G_FRAME_INDEX %fixed-stack.0394 %2:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0, align 8)395 %1:_(s64) = G_LOAD %3(p0) :: (invariant load (s64) from %fixed-stack.0 + 8, basealign 8)396 %4:_(s8) = G_FCMP floatpred(une), %2(s64), %1397 $al = COPY %4(s8)398 RET 0, implicit $al399...400