[Reland][Runtimes] Merge 'compile_commands.json' files from runtimes build (#116303)
[llvm-project.git] / llvm / test / CodeGen / X86 / x87-stack-pop.mir
blob1c4ffa54b150fbf14e90dae09b45721e922d1098
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=i686-- -run-pass x86-codegen -O2 -o - %s | FileCheck %s
4 ---
5 name: func_fxam
6 tracksRegLiveness: true
7 fixedStack:
8   - { id: 0, type: default, offset: 0, size: 10, alignment: 16 }
9 body:             |
10   bb.0.entry:
11     ; CHECK-LABEL: name: func_fxam
12     ; 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)
13     ; CHECK-NEXT: XAM_F implicit-def $fpsw, implicit $st0
14     ; CHECK-NEXT: FNSTSW16r implicit-def $ax, implicit-def dead $fpsw, implicit $fpsw
15     ; CHECK-NEXT: ST_FPrr $st0, implicit-def $fpsw, implicit $fpcw
16     ; CHECK-NEXT: renamable $ax = KILL $ax, implicit-def $eax
17     ; CHECK-NEXT: RET 0, $eax
18     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)
19     XAM_Fp80 killed renamable $fp0, implicit-def $fpsw
20     FNSTSW16r implicit-def $ax, implicit-def dead $fpsw, implicit $fpsw
21     renamable $ax = KILL $ax, implicit-def $eax
22     RET 0, $eax
25 ...
26 ---
27 name: func_ftst
28 tracksRegLiveness: true
29 fixedStack:
30   - { id: 0, type: default, offset: 0, size: 10, alignment: 16 }
31 body:             |
32   bb.0.entry:
33     ; CHECK-LABEL: name: func_ftst
34     ; 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)
35     ; CHECK-NEXT: TST_F implicit-def $fpsw, implicit $fpcw, implicit $st0
36     ; CHECK-NEXT: FNSTSW16r implicit-def $ax, implicit-def dead $fpsw, implicit $fpsw
37     ; CHECK-NEXT: ST_FPrr $st0, implicit-def $fpsw, implicit $fpcw
38     ; CHECK-NEXT: renamable $ax = KILL $ax, implicit-def $eax
39     ; CHECK-NEXT: RET 0, $eax
40     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)
41     TST_Fp80 killed renamable $fp0, implicit-def $fpsw, implicit $fpcw
42     FNSTSW16r implicit-def $ax, implicit-def dead $fpsw, implicit $fpsw
43     renamable $ax = KILL $ax, implicit-def $eax
44     RET 0, $eax
46 ...
47 ---
48 name: func_deaddef
49 tracksRegLiveness: true
50 fixedStack:
51   - { id: 0, type: default, offset: 0, size: 10, alignment: 16 }
52 body:             |
53   bb.0.entry:
54     ; CHECK-LABEL: name: func_deaddef
55     ; 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)
56     ; CHECK-NEXT: TST_F implicit-def dead $fpsw, implicit $fpcw, implicit $st0
57     ; CHECK-NEXT: ST_FPrr $st0, implicit-def $fpsw, implicit $fpcw
58     ; CHECK-NEXT: FNSTSW16r implicit-def $ax, implicit-def dead $fpsw, implicit $fpsw
59     ; CHECK-NEXT: renamable $ax = KILL $ax, implicit-def $eax
60     ; CHECK-NEXT: RET 0, $eax
61     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)
62     TST_Fp80 killed renamable $fp0, implicit-def dead $fpsw, implicit $fpcw
63     FNSTSW16r implicit-def $ax, implicit-def dead $fpsw, implicit $fpsw
64     renamable $ax = KILL $ax, implicit-def $eax
65     RET 0, $eax
67 ...