|
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 |
| -name: wwm_skip_shift_16bit_reg |
| 5 | +name: wwm_reg_skip_sort_16bit |
6 | 6 | tracksRegLiveness: true
|
7 | 7 | machineFunctionInfo:
|
8 |
| - wwmReservedRegs: ['$vgpr0_lo16'] |
9 |
| - isEntryFunction: false |
| 8 | + isEntryFunction: true |
10 | 9 | body: |
|
11 | 10 | bb.0:
|
12 |
| - liveins: $vgpr0,$vgpr1,$sgpr0 |
13 |
| - ; GCN-LABEL: name: wwm_skip_shift_16bit_reg |
14 |
| - ; GCN: liveins: $vgpr0, $vgpr1, $sgpr0 |
15 |
| - ; GCN-NEXT: {{ $}} |
16 |
| - ; GCN-NEXT: $sgpr1 = S_XOR_SAVEEXEC_B32 -1, implicit-def $exec, implicit-def dead $scc, implicit $exec |
17 |
| - ; 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 |
| 11 | + ; GCN-LABEL: name: wwm_reg_skip_sort_16bit |
| 12 | + ; GCN: renamable $sgpr0 = ENTER_STRICT_WWM -1, implicit-def $exec, implicit-def $scc, implicit $exec |
| 13 | + ; GCN-NEXT: $vgpr0 = IMPLICIT_DEF |
| 14 | + ; GCN-NEXT: renamable $sgpr1 = V_READLANE_B32 $vgpr0, 31 |
| 15 | + ; GCN-NEXT: renamable $sgpr2 = S_MOV_B32 0 |
| 16 | + ; GCN-NEXT: undef $vgpr0_lo16 = V_CNDMASK_B16_t16_e64 0, 0, 0, killed $sgpr1, killed $sgpr2, 0, implicit $exec |
| 17 | + ; GCN-NEXT: $exec_lo = EXIT_STRICT_WWM killed renamable $sgpr0 |
| 18 | + ; GCN-NEXT: early-clobber renamable $vgpr1 = V_MOV_B32_e32 $vgpr0, implicit $exec |
| 19 | + ; GCN-NEXT: S_ENDPGM 0, implicit killed renamable $vgpr1 |
| 20 | + renamable $sgpr0 = ENTER_STRICT_WWM -1, implicit-def $exec, implicit-def $scc, implicit $exec |
| 21 | + $vgpr0 = IMPLICIT_DEF |
| 22 | + renamable $sgpr1 = V_READLANE_B32 $vgpr0, 31 |
| 23 | + renamable $sgpr2 = S_MOV_B32 0 |
| 24 | + undef $vgpr0_lo16 = V_CNDMASK_B16_t16_e64 0, 0, 0, killed $sgpr1, killed $sgpr2, 0, implicit $exec |
| 25 | + $exec_lo = EXIT_STRICT_WWM killed renamable $sgpr0 |
| 26 | + early-clobber renamable $vgpr1 = V_MOV_B32_e32 $vgpr0, implicit $exec |
| 27 | + S_ENDPGM 0, implicit killed renamable $vgpr1 |
26 | 28 | ...
|
27 |
| - |
|
0 commit comments