|
1 | 1 | # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
|
2 |
| -# RUN: llc -mtriple=amdgcn-amd-amdpal -mcpu=gfx1100 -mattr=+real-true16 -run-pass=prologepilog %s -o - | FileCheck -check-prefix=GCN %s |
| 2 | +# RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -mattr=+real-true16 -run-pass=prologepilog %s -o - | FileCheck -check-prefix=GCN %s |
3 | 3 |
|
4 | 4 | ---
|
5 | 5 | name: wwm_skip_shift_16bit_reg
|
6 | 6 | tracksRegLiveness: true
|
| 7 | +noVRegs: true |
7 | 8 | machineFunctionInfo:
|
8 | 9 | wwmReservedRegs: ['$vgpr0_lo16']
|
9 | 10 | isEntryFunction: false
|
10 | 11 | body: |
|
11 | 12 | bb.0:
|
12 |
| - liveins: $vgpr0,$vgpr1,$sgpr0 |
| 13 | + liveins: $sgpr0, $sgpr1 |
13 | 14 | ; GCN-LABEL: name: wwm_skip_shift_16bit_reg
|
14 |
| - ; GCN: liveins: $vgpr0, $vgpr1, $sgpr0 |
| 15 | + ; GCN: liveins: $sgpr0, $sgpr1 |
15 | 16 | ; GCN-NEXT: {{ $}}
|
16 |
| - ; GCN-NEXT: $sgpr1 = S_XOR_SAVEEXEC_B32 -1, implicit-def $exec, implicit-def dead $scc, implicit $exec |
| 17 | + ; GCN-NEXT: $sgpr2 = S_XOR_SAVEEXEC_B32 -1, implicit-def $exec, implicit-def dead $scc, implicit $exec |
17 | 18 | ; GCN-NEXT: SCRATCH_STORE_DWORD_SADDR killed $vgpr0_lo16, $sp_reg, 0, 0, implicit $exec, implicit $flat_scr :: (store (s16) into %stack.0, addrspace 5)
|
18 |
| - ; GCN-NEXT: $exec_lo = S_MOV_B32 killed $sgpr1 |
19 |
| - ; GCN-NEXT: undef $vgpr0_lo16 = V_CNDMASK_B16_t16_e64 0, $vgpr0_lo16, 0, $vgpr1_lo16, $sgpr0, 0, implicit $exec |
20 |
| - ; GCN-NEXT: $sgpr0 = S_XOR_SAVEEXEC_B32 -1, implicit-def $exec, implicit-def dead $scc, implicit $exec |
21 |
| - ; GCN-NEXT: $vgpr0_lo16 = SCRATCH_LOAD_DWORD_SADDR $sp_reg, 0, 0, implicit $exec, implicit $flat_scr, implicit $vgpr0_lo16(tied-def 0) :: (load (s16) from %stack.0, addrspace 5) |
22 |
| - ; GCN-NEXT: $exec_lo = S_MOV_B32 killed $sgpr0 |
23 |
| - ; GCN-NEXT: SI_RETURN implicit $vgpr0 |
24 |
| - undef $vgpr0_lo16 = V_CNDMASK_B16_t16_e64 0, $vgpr0_lo16, 0, $vgpr1_lo16, $sgpr0, 0, implicit $exec |
25 |
| - SI_RETURN implicit $vgpr0 |
| 19 | + ; GCN-NEXT: $exec_lo = S_MOV_B32 killed $sgpr2 |
| 20 | + ; GCN-NEXT: renamable $vgpr0_hi16 = IMPLICIT_DEF |
| 21 | + ; GCN-NEXT: $sgpr4 = ENTER_STRICT_WWM -1, implicit-def $exec, implicit-def $scc, implicit $exec |
| 22 | + ; GCN-NEXT: $vgpr0_lo16 = IMPLICIT_DEF |
| 23 | + ; GCN-NEXT: $vgpr0_lo16 = V_CNDMASK_B16_t16_e64 0, killed $vgpr0_hi16, 0, $vgpr0_lo16, $sgpr0, 0, implicit $exec |
| 24 | + ; GCN-NEXT: $exec_lo = EXIT_STRICT_WWM killed renamable $sgpr4 |
| 25 | + renamable $vgpr0_hi16 = IMPLICIT_DEF |
| 26 | + $sgpr4 = ENTER_STRICT_WWM -1, implicit-def $exec, implicit-def $scc, implicit $exec |
| 27 | + $vgpr0_lo16 = IMPLICIT_DEF |
| 28 | + $vgpr0_lo16 = V_CNDMASK_B16_t16_e64 0, killed $vgpr0_hi16, 0, $vgpr0_lo16, $sgpr0, 0, implicit $exec |
| 29 | + $exec_lo = EXIT_STRICT_WWM killed renamable $sgpr4 |
26 | 30 | ...
|
27 |
| - |
|
0 commit comments