brintos

brintos / llvm-project-archived public Read only

0
0
Text · 20.1 KiB · ee0d729 Raw
277 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx942 -start-before=greedy,2 -stop-after=virtregrewriter,2 -verify-regalloc -verify-machineinstrs -o - %s | FileCheck %s3 4# There aren't enough VGPRs for %0 to stay in a VGPR. %0 should be5# split and inflated to AV_512. The VGPR version of the instruction6# can't be replaced with AGPR version since we can't easily replace7# src2's register class8 9---10name:            inflate_result_to_agpr__V_MFMA_F32_32X32X8F16_mac_vgprcd_e6411tracksRegLiveness: true12machineFunctionInfo:13  isEntryFunction: true14  stackPtrOffsetReg: '$sgpr32'15  occupancy:       1016  sgprForEXECCopy: '$sgpr100_sgpr101'17body:             |18  ; CHECK-LABEL: name: inflate_result_to_agpr__V_MFMA_F32_32X32X8F16_mac_vgprcd_e6419  ; CHECK: bb.0:20  ; CHECK-NEXT:   successors: %bb.1(0x80000000)21  ; CHECK-NEXT: {{  $}}22  ; CHECK-NEXT:   S_NOP 0, implicit-def $agpr023  ; CHECK-NEXT:   renamable $sgpr0 = S_MOV_B32 024  ; CHECK-NEXT:   renamable $vgpr10 = V_MOV_B32_e32 0, implicit $exec25  ; CHECK-NEXT:   renamable $sgpr1 = COPY renamable $sgpr026  ; CHECK-NEXT:   renamable $vgpr0_vgpr1 = COPY killed renamable $sgpr0_sgpr127  ; CHECK-NEXT:   renamable $vcc = S_AND_B64 $exec, -1, implicit-def dead $scc28  ; CHECK-NEXT:   renamable $vgpr11 = COPY renamable $vgpr1029  ; CHECK-NEXT: {{  $}}30  ; CHECK-NEXT: bb.1:31  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)32  ; CHECK-NEXT:   liveins: $vcc, $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17:0x00000000000F000033  ; CHECK-NEXT: {{  $}}34  ; CHECK-NEXT:   renamable $vgpr2_vgpr3 = nofpexcept V_PK_MUL_F32 8, $vgpr10_vgpr11, 0, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec35  ; CHECK-NEXT:   renamable $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17 = V_MFMA_F32_32X32X8F16_mac_vgprcd_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17, 0, 0, 0, implicit $mode, implicit $exec36  ; CHECK-NEXT:   S_CBRANCH_VCCNZ %bb.1, implicit $vcc37  ; CHECK-NEXT:   S_BRANCH %bb.238  ; CHECK-NEXT: {{  $}}39  ; CHECK-NEXT: bb.2:40  ; CHECK-NEXT:   liveins: $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17:0x00000000FFFFFFFF41  ; CHECK-NEXT: {{  $}}42  ; CHECK-NEXT:   renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = COPY killed renamable $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr1743  ; CHECK-NEXT:   S_NOP 0, implicit-def $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr744  ; CHECK-NEXT:   S_NOP 0, implicit-def $vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr1545  ; CHECK-NEXT:   S_NOP 0, implicit-def $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr2346  ; CHECK-NEXT:   S_NOP 0, implicit-def $vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr3147  ; CHECK-NEXT:   S_NOP 0, implicit-def $vgpr32_vgpr33_vgpr34_vgpr35_vgpr36_vgpr37_vgpr38_vgpr3948  ; CHECK-NEXT:   S_NOP 0, implicit-def $vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr4749  ; CHECK-NEXT:   S_NOP 0, implicit-def $vgpr48_vgpr49_vgpr50_vgpr51_vgpr52_vgpr53_vgpr54_vgpr5550  ; CHECK-NEXT:   S_NOP 0, implicit-def $vgpr56_vgpr57_vgpr58_vgpr59_vgpr60_vgpr61_vgpr62_vgpr6351  ; CHECK-NEXT:   renamable $vgpr0 = V_MOV_B32_e32 0, implicit $exec52  ; CHECK-NEXT:   GLOBAL_STORE_DWORDX4_SADDR renamable $vgpr0, renamable $agpr8_agpr9_agpr10_agpr11, undef $sgpr0_sgpr1, 32, 0, implicit $exec :: (store (s128), align 32, addrspace 1)53  ; CHECK-NEXT:   GLOBAL_STORE_DWORDX4_SADDR renamable $vgpr0, renamable $agpr12_agpr13_agpr14_agpr15, undef $sgpr0_sgpr1, 48, 0, implicit $exec :: (store (s128), addrspace 1)54  ; CHECK-NEXT:   GLOBAL_STORE_DWORDX4_SADDR renamable $vgpr0, renamable $agpr0_agpr1_agpr2_agpr3, undef $sgpr0_sgpr1, 0, 0, implicit $exec :: (store (s128), align 128, addrspace 1)55  ; CHECK-NEXT:   GLOBAL_STORE_DWORDX4_SADDR killed renamable $vgpr0, killed renamable $agpr4_agpr5_agpr6_agpr7, killed undef $sgpr0_sgpr1, 16, 0, implicit $exec :: (store (s128), addrspace 1)56  ; CHECK-NEXT:   S_ENDPGM 057  bb.0:58    S_NOP 0, implicit-def $agpr059    renamable $sgpr0 = S_MOV_B32 060    undef %0.sub8:vreg_512_align2 = V_MOV_B32_e32 0, implicit $exec61    renamable $sgpr1 = COPY renamable $sgpr062    %1:vreg_64_align2 = COPY killed renamable $sgpr0_sgpr163    renamable $vcc = S_AND_B64 $exec, -1, implicit-def dead $scc64    %0.sub9:vreg_512_align2 = COPY %0.sub865 66  bb.1:67    liveins: $vcc68 69    undef %0.sub0_sub1:vreg_512_align2 = nofpexcept V_PK_MUL_F32 8, %0.sub8_sub9, 0, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec70    %0:vreg_512_align2 = V_MFMA_F32_32X32X8F16_mac_vgprcd_e64 %1, %1, %0, 0, 0, 0, implicit $mode, implicit $exec71    S_CBRANCH_VCCNZ %bb.1, implicit $vcc72    S_BRANCH %bb.273 74  bb.2:75    ; No VGPRs available for %076    S_NOP 0, implicit-def $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr777    S_NOP 0, implicit-def $vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr1578    S_NOP 0, implicit-def $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr2379    S_NOP 0, implicit-def $vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr3180    S_NOP 0, implicit-def $vgpr32_vgpr33_vgpr34_vgpr35_vgpr36_vgpr37_vgpr38_vgpr3981    S_NOP 0, implicit-def $vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr4782    S_NOP 0, implicit-def $vgpr48_vgpr49_vgpr50_vgpr51_vgpr52_vgpr53_vgpr54_vgpr5583    S_NOP 0, implicit-def $vgpr56_vgpr57_vgpr58_vgpr59_vgpr60_vgpr61_vgpr62_vgpr6384    %2:vgpr_32 = V_MOV_B32_e32 0, implicit $exec85    GLOBAL_STORE_DWORDX4_SADDR %2, %0.sub8_sub9_sub10_sub11, undef $sgpr0_sgpr1, 32, 0, implicit $exec :: (store (s128), align 32, addrspace 1)86    GLOBAL_STORE_DWORDX4_SADDR %2, %0.sub12_sub13_sub14_sub15, undef $sgpr0_sgpr1, 48, 0, implicit $exec :: (store (s128), addrspace 1)87    GLOBAL_STORE_DWORDX4_SADDR %2, %0.sub0_sub1_sub2_sub3, undef $sgpr0_sgpr1, 0, 0, implicit $exec :: (store (s128), align 128, addrspace 1)88    GLOBAL_STORE_DWORDX4_SADDR %2, %0.sub4_sub5_sub6_sub7, killed undef $sgpr0_sgpr1, 16, 0, implicit $exec :: (store (s128), addrspace 1)89    S_ENDPGM 090 91...92 93# Non-mac version, src2 is other VGPR94---95name:            inflate_result_to_agpr__V_MFMA_F32_32X32X8F16_vgprcd_e6496tracksRegLiveness: true97machineFunctionInfo:98  isEntryFunction: true99  stackPtrOffsetReg: '$sgpr32'100  occupancy:       10101  sgprForEXECCopy: '$sgpr100_sgpr101'102body:             |103  ; CHECK-LABEL: name: inflate_result_to_agpr__V_MFMA_F32_32X32X8F16_vgprcd_e64104  ; CHECK: bb.0:105  ; CHECK-NEXT:   successors: %bb.1(0x80000000)106  ; CHECK-NEXT: {{  $}}107  ; CHECK-NEXT:   S_NOP 0, implicit-def $agpr0108  ; CHECK-NEXT:   renamable $sgpr0 = S_MOV_B32 0109  ; CHECK-NEXT:   renamable $vgpr26 = V_MOV_B32_e32 0, implicit $exec, implicit-def $vgpr18_vgpr19110  ; CHECK-NEXT:   renamable $sgpr1 = COPY renamable $sgpr0111  ; CHECK-NEXT:   renamable $vgpr16_vgpr17 = COPY killed renamable $sgpr0_sgpr1112  ; CHECK-NEXT:   renamable $vcc = S_AND_B64 $exec, -1, implicit-def dead $scc113  ; CHECK-NEXT:   renamable $vgpr27 = COPY renamable $vgpr26114  ; CHECK-NEXT: {{  $}}115  ; CHECK-NEXT: bb.1:116  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)117  ; CHECK-NEXT:   liveins: $vcc, $vgpr16_vgpr17, $vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31_vgpr32_vgpr33:0x00000000000F000F118  ; CHECK-NEXT: {{  $}}119  ; CHECK-NEXT:   renamable $vgpr0_vgpr1 = nofpexcept V_PK_MUL_F32 8, $vgpr26_vgpr27, 0, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec120  ; CHECK-NEXT:   renamable $vgpr2_vgpr3 = nofpexcept V_PK_MUL_F32 8, $vgpr18_vgpr19, 0, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec121  ; CHECK-NEXT:   renamable $vgpr4_vgpr5 = nofpexcept V_PK_MUL_F32 8, $vgpr18_vgpr19, 0, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec122  ; CHECK-NEXT:   renamable $vgpr6_vgpr7 = nofpexcept V_PK_MUL_F32 8, $vgpr18_vgpr19, 0, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec123  ; CHECK-NEXT:   renamable $vgpr8_vgpr9 = nofpexcept V_PK_MUL_F32 8, $vgpr18_vgpr19, 0, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec124  ; CHECK-NEXT:   renamable $vgpr10_vgpr11 = nofpexcept V_PK_MUL_F32 8, $vgpr18_vgpr19, 0, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec125  ; CHECK-NEXT:   renamable $vgpr12_vgpr13 = nofpexcept V_PK_MUL_F32 8, $vgpr18_vgpr19, 0, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec126  ; CHECK-NEXT:   renamable $vgpr14_vgpr15 = nofpexcept V_PK_MUL_F32 8, killed $vgpr18_vgpr19, 0, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec127  ; CHECK-NEXT:   early-clobber renamable $vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31_vgpr32_vgpr33 = V_MFMA_F32_32X32X8F16_vgprcd_e64 $vgpr16_vgpr17, $vgpr16_vgpr17, killed $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec128  ; CHECK-NEXT:   S_CBRANCH_VCCNZ %bb.1, implicit $vcc129  ; CHECK-NEXT:   S_BRANCH %bb.2130  ; CHECK-NEXT: {{  $}}131  ; CHECK-NEXT: bb.2:132  ; CHECK-NEXT:   liveins: $vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31_vgpr32_vgpr33:0x00000000FFFFFFFF133  ; CHECK-NEXT: {{  $}}134  ; CHECK-NEXT:   S_NOP 0, implicit-def $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7135  ; CHECK-NEXT:   S_NOP 0, implicit-def $vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15136  ; CHECK-NEXT:   renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = COPY killed renamable $vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31_vgpr32_vgpr33137  ; CHECK-NEXT:   S_NOP 0, implicit-def $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23138  ; CHECK-NEXT:   S_NOP 0, implicit-def $vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31139  ; CHECK-NEXT:   S_NOP 0, implicit-def $vgpr32_vgpr33_vgpr34_vgpr35_vgpr36_vgpr37_vgpr38_vgpr39140  ; CHECK-NEXT:   S_NOP 0, implicit-def $vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr47141  ; CHECK-NEXT:   S_NOP 0, implicit-def $vgpr48_vgpr49_vgpr50_vgpr51_vgpr52_vgpr53_vgpr54_vgpr55142  ; CHECK-NEXT:   S_NOP 0, implicit-def $vgpr56_vgpr57_vgpr58_vgpr59_vgpr60_vgpr61_vgpr62_vgpr63143  ; CHECK-NEXT:   renamable $vgpr0 = V_MOV_B32_e32 0, implicit $exec144  ; CHECK-NEXT:   GLOBAL_STORE_DWORDX4_SADDR renamable $vgpr0, renamable $agpr8_agpr9_agpr10_agpr11, undef $sgpr0_sgpr1, 32, 0, implicit $exec :: (store (s128), align 32, addrspace 1)145  ; CHECK-NEXT:   GLOBAL_STORE_DWORDX4_SADDR renamable $vgpr0, renamable $agpr12_agpr13_agpr14_agpr15, undef $sgpr0_sgpr1, 48, 0, implicit $exec :: (store (s128), addrspace 1)146  ; CHECK-NEXT:   GLOBAL_STORE_DWORDX4_SADDR renamable $vgpr0, renamable $agpr0_agpr1_agpr2_agpr3, undef $sgpr0_sgpr1, 0, 0, implicit $exec :: (store (s128), align 128, addrspace 1)147  ; CHECK-NEXT:   GLOBAL_STORE_DWORDX4_SADDR killed renamable $vgpr0, killed renamable $agpr4_agpr5_agpr6_agpr7, killed undef $sgpr0_sgpr1, 16, 0, implicit $exec :: (store (s128), addrspace 1)148  ; CHECK-NEXT:   S_ENDPGM 0149  bb.0:150    S_NOP 0, implicit-def $agpr0151    renamable $sgpr0 = S_MOV_B32 0152    undef %0.sub8:vreg_512_align2 = V_MOV_B32_e32 0, implicit $exec153    renamable $sgpr1 = COPY renamable $sgpr0154    %1:vreg_64_align2 = COPY killed renamable $sgpr0_sgpr1155    renamable $vcc = S_AND_B64 $exec, -1, implicit-def dead $scc156    %0.sub9:vreg_512_align2 = COPY %0.sub8157 158  bb.1:159    liveins: $vcc160 161    undef %3.sub0_sub1:vreg_512_align2 = nofpexcept V_PK_MUL_F32 8, %0.sub8_sub9, 0, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec162    %3.sub2_sub3:vreg_512_align2 = nofpexcept V_PK_MUL_F32 8, %0.sub0_sub1, 0, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec163    %3.sub4_sub5:vreg_512_align2 = nofpexcept V_PK_MUL_F32 8, %0.sub0_sub1, 0, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec164    %3.sub6_sub7:vreg_512_align2 = nofpexcept V_PK_MUL_F32 8, %0.sub0_sub1, 0, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec165    %3.sub8_sub9:vreg_512_align2 = nofpexcept V_PK_MUL_F32 8, %0.sub0_sub1, 0, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec166    %3.sub10_sub11:vreg_512_align2 = nofpexcept V_PK_MUL_F32 8, %0.sub0_sub1, 0, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec167    %3.sub12_sub13:vreg_512_align2 = nofpexcept V_PK_MUL_F32 8, %0.sub0_sub1, 0, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec168    %3.sub14_sub15:vreg_512_align2 = nofpexcept V_PK_MUL_F32 8, %0.sub0_sub1, 0, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec169    %0:vreg_512_align2 = V_MFMA_F32_32X32X8F16_vgprcd_e64 %1, %1, %3, 0, 0, 0, implicit $mode, implicit $exec170    S_CBRANCH_VCCNZ %bb.1, implicit $vcc171    S_BRANCH %bb.2172 173  bb.2:174    ; No VGPRs available for %0175    S_NOP 0, implicit-def $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7176    S_NOP 0, implicit-def $vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15177    S_NOP 0, implicit-def $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23178    S_NOP 0, implicit-def $vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31179    S_NOP 0, implicit-def $vgpr32_vgpr33_vgpr34_vgpr35_vgpr36_vgpr37_vgpr38_vgpr39180    S_NOP 0, implicit-def $vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr47181    S_NOP 0, implicit-def $vgpr48_vgpr49_vgpr50_vgpr51_vgpr52_vgpr53_vgpr54_vgpr55182    S_NOP 0, implicit-def $vgpr56_vgpr57_vgpr58_vgpr59_vgpr60_vgpr61_vgpr62_vgpr63183    %2:vgpr_32 = V_MOV_B32_e32 0, implicit $exec184    GLOBAL_STORE_DWORDX4_SADDR %2, %0.sub8_sub9_sub10_sub11, undef $sgpr0_sgpr1, 32, 0, implicit $exec :: (store (s128), align 32, addrspace 1)185    GLOBAL_STORE_DWORDX4_SADDR %2, %0.sub12_sub13_sub14_sub15, undef $sgpr0_sgpr1, 48, 0, implicit $exec :: (store (s128), addrspace 1)186    GLOBAL_STORE_DWORDX4_SADDR %2, %0.sub0_sub1_sub2_sub3, undef $sgpr0_sgpr1, 0, 0, implicit $exec :: (store (s128), align 128, addrspace 1)187    GLOBAL_STORE_DWORDX4_SADDR %2, %0.sub4_sub5_sub6_sub7, killed undef $sgpr0_sgpr1, 16, 0, implicit $exec :: (store (s128), addrspace 1)188    S_ENDPGM 0189 190...191 192---193name:            inflate_result_to_agpr__V_MFMA_F32_32X32X8F16_mac_vgprcd_e64_two_chained_uses194tracksRegLiveness: true195machineFunctionInfo:196  isEntryFunction: true197  stackPtrOffsetReg: '$sgpr32'198  occupancy:       10199  sgprForEXECCopy: '$sgpr100_sgpr101'200body:             |201  ; CHECK-LABEL: name: inflate_result_to_agpr__V_MFMA_F32_32X32X8F16_mac_vgprcd_e64_two_chained_uses202  ; CHECK: bb.0:203  ; CHECK-NEXT:   successors: %bb.1(0x80000000)204  ; CHECK-NEXT: {{  $}}205  ; CHECK-NEXT:   S_NOP 0, implicit-def $agpr0206  ; CHECK-NEXT:   renamable $sgpr0 = S_MOV_B32 0207  ; CHECK-NEXT:   renamable $vgpr10 = V_MOV_B32_e32 0, implicit $exec208  ; CHECK-NEXT:   renamable $sgpr1 = COPY renamable $sgpr0209  ; CHECK-NEXT:   renamable $vgpr0_vgpr1 = COPY killed renamable $sgpr0_sgpr1210  ; CHECK-NEXT:   renamable $vcc = S_AND_B64 $exec, -1, implicit-def dead $scc211  ; CHECK-NEXT:   renamable $vgpr11 = COPY renamable $vgpr10212  ; CHECK-NEXT: {{  $}}213  ; CHECK-NEXT: bb.1:214  ; CHECK-NEXT:   successors: %bb.1(0x40000000), %bb.2(0x40000000)215  ; CHECK-NEXT:   liveins: $vcc, $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17:0x00000000000F0000216  ; CHECK-NEXT: {{  $}}217  ; CHECK-NEXT:   renamable $vgpr2_vgpr3 = nofpexcept V_PK_MUL_F32 8, $vgpr10_vgpr11, 0, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec218  ; CHECK-NEXT:   renamable $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17 = V_MFMA_F32_32X32X8F16_mac_vgprcd_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17, 0, 0, 0, implicit $mode, implicit $exec219  ; CHECK-NEXT:   renamable $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17 = V_MFMA_F32_32X32X8F16_mac_vgprcd_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, killed $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17, 0, 0, 0, implicit $mode, implicit $exec220  ; CHECK-NEXT:   S_CBRANCH_VCCNZ %bb.1, implicit $vcc221  ; CHECK-NEXT:   S_BRANCH %bb.2222  ; CHECK-NEXT: {{  $}}223  ; CHECK-NEXT: bb.2:224  ; CHECK-NEXT:   liveins: $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17:0x00000000FFFFFFFF225  ; CHECK-NEXT: {{  $}}226  ; CHECK-NEXT:   renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = COPY killed renamable $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17227  ; CHECK-NEXT:   S_NOP 0, implicit-def $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7228  ; CHECK-NEXT:   S_NOP 0, implicit-def $vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15229  ; CHECK-NEXT:   S_NOP 0, implicit-def $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23230  ; CHECK-NEXT:   S_NOP 0, implicit-def $vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31231  ; CHECK-NEXT:   S_NOP 0, implicit-def $vgpr32_vgpr33_vgpr34_vgpr35_vgpr36_vgpr37_vgpr38_vgpr39232  ; CHECK-NEXT:   S_NOP 0, implicit-def $vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr47233  ; CHECK-NEXT:   S_NOP 0, implicit-def $vgpr48_vgpr49_vgpr50_vgpr51_vgpr52_vgpr53_vgpr54_vgpr55234  ; CHECK-NEXT:   S_NOP 0, implicit-def $vgpr56_vgpr57_vgpr58_vgpr59_vgpr60_vgpr61_vgpr62_vgpr63235  ; CHECK-NEXT:   renamable $vgpr0 = V_MOV_B32_e32 0, implicit $exec236  ; CHECK-NEXT:   GLOBAL_STORE_DWORDX4_SADDR renamable $vgpr0, renamable $agpr8_agpr9_agpr10_agpr11, undef $sgpr0_sgpr1, 32, 0, implicit $exec :: (store (s128), align 32, addrspace 1)237  ; CHECK-NEXT:   GLOBAL_STORE_DWORDX4_SADDR renamable $vgpr0, renamable $agpr12_agpr13_agpr14_agpr15, undef $sgpr0_sgpr1, 48, 0, implicit $exec :: (store (s128), addrspace 1)238  ; CHECK-NEXT:   GLOBAL_STORE_DWORDX4_SADDR renamable $vgpr0, renamable $agpr0_agpr1_agpr2_agpr3, undef $sgpr0_sgpr1, 0, 0, implicit $exec :: (store (s128), align 128, addrspace 1)239  ; CHECK-NEXT:   GLOBAL_STORE_DWORDX4_SADDR killed renamable $vgpr0, killed renamable $agpr4_agpr5_agpr6_agpr7, killed undef $sgpr0_sgpr1, 16, 0, implicit $exec :: (store (s128), addrspace 1)240  ; CHECK-NEXT:   S_ENDPGM 0241  bb.0:242    S_NOP 0, implicit-def $agpr0243    renamable $sgpr0 = S_MOV_B32 0244    undef %0.sub8:vreg_512_align2 = V_MOV_B32_e32 0, implicit $exec245    renamable $sgpr1 = COPY renamable $sgpr0246    %1:vreg_64_align2 = COPY killed renamable $sgpr0_sgpr1247    renamable $vcc = S_AND_B64 $exec, -1, implicit-def dead $scc248    %0.sub9:vreg_512_align2 = COPY %0.sub8249 250  bb.1:251    liveins: $vcc252 253    undef %0.sub0_sub1:vreg_512_align2 = nofpexcept V_PK_MUL_F32 8, %0.sub8_sub9, 0, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec254    %0:vreg_512_align2 = V_MFMA_F32_32X32X8F16_mac_vgprcd_e64 %1, %1, %0, 0, 0, 0, implicit $mode, implicit $exec255    %0:vreg_512_align2 = V_MFMA_F32_32X32X8F16_mac_vgprcd_e64 %1, %1, %0, 0, 0, 0, implicit $mode, implicit $exec256    S_CBRANCH_VCCNZ %bb.1, implicit $vcc257    S_BRANCH %bb.2258 259  bb.2:260    ; No VGPRs available for %0261    S_NOP 0, implicit-def $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7262    S_NOP 0, implicit-def $vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15263    S_NOP 0, implicit-def $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23264    S_NOP 0, implicit-def $vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31265    S_NOP 0, implicit-def $vgpr32_vgpr33_vgpr34_vgpr35_vgpr36_vgpr37_vgpr38_vgpr39266    S_NOP 0, implicit-def $vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr47267    S_NOP 0, implicit-def $vgpr48_vgpr49_vgpr50_vgpr51_vgpr52_vgpr53_vgpr54_vgpr55268    S_NOP 0, implicit-def $vgpr56_vgpr57_vgpr58_vgpr59_vgpr60_vgpr61_vgpr62_vgpr63269    %2:vgpr_32 = V_MOV_B32_e32 0, implicit $exec270    GLOBAL_STORE_DWORDX4_SADDR %2, %0.sub8_sub9_sub10_sub11, undef $sgpr0_sgpr1, 32, 0, implicit $exec :: (store (s128), align 32, addrspace 1)271    GLOBAL_STORE_DWORDX4_SADDR %2, %0.sub12_sub13_sub14_sub15, undef $sgpr0_sgpr1, 48, 0, implicit $exec :: (store (s128), addrspace 1)272    GLOBAL_STORE_DWORDX4_SADDR %2, %0.sub0_sub1_sub2_sub3, undef $sgpr0_sgpr1, 0, 0, implicit $exec :: (store (s128), align 128, addrspace 1)273    GLOBAL_STORE_DWORDX4_SADDR %2, %0.sub4_sub5_sub6_sub7, killed undef $sgpr0_sgpr1, 16, 0, implicit $exec :: (store (s128), addrspace 1)274    S_ENDPGM 0275 276...277