69 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=i686-- -run-pass=x86-fp-stackifier -O2 -o - %s | FileCheck %s3# RUN: llc -mtriple=i686-- -passes=x86-fp-stackifier -O2 -o - %s | FileCheck %s4 5---6name: func_fxam7tracksRegLiveness: true8fixedStack:9 - { id: 0, type: default, offset: 0, size: 10, alignment: 16 }10body: |11 bb.0.entry:12 ; CHECK-LABEL: name: func_fxam13 ; CHECK: nofpexcept LD_F80m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw, implicit-def $st0 :: (load (s80) from %fixed-stack.0, align 16)14 ; CHECK-NEXT: XAM_F implicit-def $fpsw, implicit $st015 ; CHECK-NEXT: FNSTSW16r implicit-def $ax, implicit-def dead $fpsw, implicit $fpsw16 ; CHECK-NEXT: ST_FPrr $st0, implicit-def $fpsw, implicit $fpcw17 ; CHECK-NEXT: renamable $ax = KILL $ax, implicit-def $eax18 ; CHECK-NEXT: RET 0, $eax19 renamable $fp0 = nofpexcept LD_Fp80m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (load (s80) from %fixed-stack.0, align 16)20 XAM_Fp80 killed renamable $fp0, implicit-def $fpsw21 FNSTSW16r implicit-def $ax, implicit-def dead $fpsw, implicit $fpsw22 renamable $ax = KILL $ax, implicit-def $eax23 RET 0, $eax24 25 26...27---28name: func_ftst29tracksRegLiveness: true30fixedStack:31 - { id: 0, type: default, offset: 0, size: 10, alignment: 16 }32body: |33 bb.0.entry:34 ; CHECK-LABEL: name: func_ftst35 ; CHECK: nofpexcept LD_F80m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw, implicit-def $st0 :: (load (s80) from %fixed-stack.0, align 16)36 ; CHECK-NEXT: TST_F implicit-def $fpsw, implicit $fpcw, implicit $st037 ; CHECK-NEXT: FNSTSW16r implicit-def $ax, implicit-def dead $fpsw, implicit $fpsw38 ; CHECK-NEXT: ST_FPrr $st0, implicit-def $fpsw, implicit $fpcw39 ; CHECK-NEXT: renamable $ax = KILL $ax, implicit-def $eax40 ; CHECK-NEXT: RET 0, $eax41 renamable $fp0 = nofpexcept LD_Fp80m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (load (s80) from %fixed-stack.0, align 16)42 TST_Fp80 killed renamable $fp0, implicit-def $fpsw, implicit $fpcw43 FNSTSW16r implicit-def $ax, implicit-def dead $fpsw, implicit $fpsw44 renamable $ax = KILL $ax, implicit-def $eax45 RET 0, $eax46 47...48---49name: func_deaddef50tracksRegLiveness: true51fixedStack:52 - { id: 0, type: default, offset: 0, size: 10, alignment: 16 }53body: |54 bb.0.entry:55 ; CHECK-LABEL: name: func_deaddef56 ; CHECK: nofpexcept LD_F80m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw, implicit-def $st0 :: (load (s80) from %fixed-stack.0, align 16)57 ; CHECK-NEXT: TST_F implicit-def dead $fpsw, implicit $fpcw, implicit $st058 ; CHECK-NEXT: ST_FPrr $st0, implicit-def $fpsw, implicit $fpcw59 ; CHECK-NEXT: FNSTSW16r implicit-def $ax, implicit-def dead $fpsw, implicit $fpsw60 ; CHECK-NEXT: renamable $ax = KILL $ax, implicit-def $eax61 ; CHECK-NEXT: RET 0, $eax62 renamable $fp0 = nofpexcept LD_Fp80m %fixed-stack.0, 1, $noreg, 0, $noreg, implicit-def dead $fpsw, implicit $fpcw :: (load (s80) from %fixed-stack.0, align 16)63 TST_Fp80 killed renamable $fp0, implicit-def dead $fpsw, implicit $fpcw64 FNSTSW16r implicit-def $ax, implicit-def dead $fpsw, implicit $fpsw65 renamable $ax = KILL $ax, implicit-def $eax66 RET 0, $eax67 68...69