[MachineScheduler] Fix physreg dependencies of ExitSU (#123541)
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / mode-register-fptrunc.gfx11plus-fake16.mir
blob8667934d70ff00322980c615ac0bebdc8152ee09
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -mattr=-real-true16 -run-pass si-mode-register  %s -o - | FileCheck %s --check-prefixes=GFX11
4 ---
5 name: ftrunc_tonearest
7 body: |
8   bb.0:
9     liveins: $sgpr0
10     ; GFX11-LABEL: name: ftrunc_tonearest
11     ; GFX11: liveins: $sgpr0
12     ; GFX11-NEXT: {{  $}}
13     ; GFX11-NEXT: $vgpr0 = V_MOV_B32_e32 killed $sgpr0, implicit $exec, implicit $exec
14     ; GFX11-NEXT: $vgpr1 = V_CVT_F16_F32_fake16_e32 $vgpr0, implicit $mode, implicit $exec
15     ; GFX11-NEXT: S_ENDPGM 0
16     $vgpr0 = V_MOV_B32_e32 killed $sgpr0, implicit $exec, implicit $exec
17     $vgpr1 = FPTRUNC_ROUND_F16_F32_PSEUDO_fake16_e32 $vgpr0, 0, implicit $mode, implicit $exec
18     S_ENDPGM 0
19 ...
21 ---
22 name: ftrunc_upward
24 body: |
25   bb.0:
26     liveins: $sgpr0
27     ; GFX11-LABEL: name: ftrunc_upward
28     ; GFX11: liveins: $sgpr0
29     ; GFX11-NEXT: {{  $}}
30     ; GFX11-NEXT: $vgpr0 = V_MOV_B32_e32 killed $sgpr0, implicit $exec, implicit $exec
31     ; GFX11-NEXT: S_SETREG_IMM32_B32 1, 129, implicit-def $mode, implicit $mode
32     ; GFX11-NEXT: $vgpr1 = V_CVT_F16_F32_fake16_e32 $vgpr0, implicit $mode, implicit $exec
33     ; GFX11-NEXT: S_ENDPGM 0
34     $vgpr0 = V_MOV_B32_e32 killed $sgpr0, implicit $exec, implicit $exec
35     $vgpr1 = FPTRUNC_ROUND_F16_F32_PSEUDO_fake16_e32 $vgpr0, 1, implicit $mode, implicit $exec
36     S_ENDPGM 0
37 ...
39 ---
40 name: ftrunc_downward
42 body: |
43   bb.0:
44     liveins: $sgpr0
45     ; GFX11-LABEL: name: ftrunc_downward
46     ; GFX11: liveins: $sgpr0
47     ; GFX11-NEXT: {{  $}}
48     ; GFX11-NEXT: $vgpr1 = V_MOV_B32_e32 killed $sgpr0, implicit $exec, implicit $exec
49     ; GFX11-NEXT: S_SETREG_IMM32_B32 1, 193, implicit-def $mode, implicit $mode
50     ; GFX11-NEXT: $vgpr0 = V_CVT_F16_F32_fake16_e32 $vgpr1, implicit $mode, implicit $exec
51     ; GFX11-NEXT: S_ENDPGM 0
52     $vgpr1 = V_MOV_B32_e32 killed $sgpr0, implicit $exec, implicit $exec
53     $vgpr0 = FPTRUNC_ROUND_F16_F32_PSEUDO_fake16_e32 $vgpr1, 2, implicit $mode, implicit $exec
54     S_ENDPGM 0
55 ...
57 ---
58 name: ftrunc_towardzero
60 body: |
61   bb.0:
62     liveins: $sgpr0
63     ; GFX11-LABEL: name: ftrunc_towardzero
64     ; GFX11: liveins: $sgpr0
65     ; GFX11-NEXT: {{  $}}
66     ; GFX11-NEXT: $vgpr0 = V_MOV_B32_e32 killed $sgpr0, implicit $exec, implicit $exec
67     ; GFX11-NEXT: S_SETREG_IMM32_B32 3, 2177, implicit-def $mode, implicit $mode
68     ; GFX11-NEXT: $vgpr1 = V_CVT_F16_F32_fake16_e32 $vgpr0, implicit $mode, implicit $exec
69     ; GFX11-NEXT: S_ENDPGM 0
70     $vgpr0 = V_MOV_B32_e32 killed $sgpr0, implicit $exec, implicit $exec
71     $vgpr1 = FPTRUNC_ROUND_F16_F32_PSEUDO_fake16_e32 $vgpr0, 3, implicit $mode, implicit $exec
72     S_ENDPGM 0
73 ...