brintos

brintos / llvm-project-archived public Read only

0
0
Text · 21.4 KiB · 8273677 Raw
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