|
28 | 28 | ret void
|
29 | 29 | }
|
30 | 30 |
|
31 |
| - define amdgpu_kernel void @inflate_result_to_agpr__V_MFMA_F32_32X32X8F16_mac_vgprcd_e64_two_chained_uses_cannot_rewrite_final_use() #0 { |
32 |
| - ret void |
33 |
| - } |
34 |
| - |
35 | 31 | define amdgpu_kernel void @inflate_result_to_agpr__V_MFMA_F32_32X32X8F16_vgprcd_e64_chain_no_agprs_first() #1 {
|
36 | 32 | ret void
|
37 | 33 | }
|
@@ -598,85 +594,6 @@ body: |
|
598 | 594 |
|
599 | 595 | ...
|
600 | 596 |
|
601 |
| ---- |
602 |
| -name: inflate_result_to_agpr__V_MFMA_F32_32X32X8F16_mac_vgprcd_e64_two_chained_uses_cannot_rewrite_final_use |
603 |
| -tracksRegLiveness: true |
604 |
| -machineFunctionInfo: |
605 |
| - isEntryFunction: true |
606 |
| - stackPtrOffsetReg: '$sgpr32' |
607 |
| - occupancy: 10 |
608 |
| - sgprForEXECCopy: '$sgpr100_sgpr101' |
609 |
| -body: | |
610 |
| - ; CHECK-LABEL: name: inflate_result_to_agpr__V_MFMA_F32_32X32X8F16_mac_vgprcd_e64_two_chained_uses_cannot_rewrite_final_use |
611 |
| - ; CHECK: bb.0: |
612 |
| - ; CHECK-NEXT: successors: %bb.1(0x80000000) |
613 |
| - ; CHECK-NEXT: {{ $}} |
614 |
| - ; CHECK-NEXT: S_NOP 0, implicit-def $agpr0 |
615 |
| - ; CHECK-NEXT: renamable $sgpr0 = S_MOV_B32 0 |
616 |
| - ; CHECK-NEXT: renamable $vgpr8 = V_MOV_B32_e32 0, implicit $exec |
617 |
| - ; CHECK-NEXT: renamable $sgpr1 = COPY renamable $sgpr0 |
618 |
| - ; CHECK-NEXT: renamable $vgpr0_vgpr1 = COPY killed renamable $sgpr0_sgpr1 |
619 |
| - ; CHECK-NEXT: renamable $vcc = S_AND_B64 $exec, -1, implicit-def dead $scc |
620 |
| - ; CHECK-NEXT: dead renamable $vgpr9 = COPY renamable $vgpr8 |
621 |
| - ; CHECK-NEXT: {{ $}} |
622 |
| - ; CHECK-NEXT: bb.1: |
623 |
| - ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000) |
624 |
| - ; CHECK-NEXT: liveins: $vcc, $vgpr0_vgpr1 |
625 |
| - ; CHECK-NEXT: {{ $}} |
626 |
| - ; CHECK-NEXT: renamable $vgpr2_vgpr3 = GLOBAL_LOAD_DWORDX2 undef renamable $vgpr0_vgpr1, 0, 0, implicit $exec :: (load (s64), addrspace 1) |
627 |
| - ; 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 $exec |
628 |
| - ; 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 $exec |
629 |
| - ; CHECK-NEXT: S_CBRANCH_VCCNZ %bb.1, implicit $vcc |
630 |
| - ; CHECK-NEXT: S_BRANCH %bb.2 |
631 |
| - ; CHECK-NEXT: {{ $}} |
632 |
| - ; CHECK-NEXT: bb.2: |
633 |
| - ; CHECK-NEXT: liveins: $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17:0x00000000FFFFFFFF |
634 |
| - ; CHECK-NEXT: {{ $}} |
635 |
| - ; 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_vgpr17 |
636 |
| - ; CHECK-NEXT: S_NOP 0, implicit-def $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 |
637 |
| - ; CHECK-NEXT: S_NOP 0, implicit-def $vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 |
638 |
| - ; CHECK-NEXT: S_NOP 0, implicit-def $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23 |
639 |
| - ; CHECK-NEXT: S_NOP 0, implicit-def $vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31 |
640 |
| - ; CHECK-NEXT: S_NOP 0, implicit-def $vgpr32_vgpr33_vgpr34_vgpr35_vgpr36_vgpr37_vgpr38_vgpr39 |
641 |
| - ; CHECK-NEXT: S_NOP 0, implicit-def $vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr47 |
642 |
| - ; CHECK-NEXT: S_NOP 0, implicit-def $vgpr48_vgpr49_vgpr50_vgpr51_vgpr52_vgpr53_vgpr54_vgpr55 |
643 |
| - ; CHECK-NEXT: S_NOP 0, implicit-def $vgpr56_vgpr57_vgpr58_vgpr59_vgpr60_vgpr61_vgpr62_vgpr63 |
644 |
| - ; CHECK-NEXT: renamable $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = COPY killed renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 |
645 |
| - ; CHECK-NEXT: INLINEASM &"; use $0 ", 1 /* sideeffect attdialect */, 27983881 /* reguse:VReg_512_Align2 */, killed renamable $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 |
646 |
| - ; CHECK-NEXT: S_ENDPGM 0 |
647 |
| - bb.0: |
648 |
| - S_NOP 0, implicit-def $agpr0 |
649 |
| - renamable $sgpr0 = S_MOV_B32 0 |
650 |
| - undef %0.sub8:vreg_512_align2 = V_MOV_B32_e32 0, implicit $exec |
651 |
| - renamable $sgpr1 = COPY renamable $sgpr0 |
652 |
| - %1:vreg_64_align2 = COPY killed renamable $sgpr0_sgpr1 |
653 |
| - renamable $vcc = S_AND_B64 $exec, -1, implicit-def dead $scc |
654 |
| - %0.sub9:vreg_512_align2 = COPY %0.sub8 |
655 |
| -
|
656 |
| - bb.1: |
657 |
| - liveins: $vcc |
658 |
| -
|
659 |
| - undef %0.sub0_sub1:vreg_512_align2 = GLOBAL_LOAD_DWORDX2 undef %3:vreg_64_align2, 0, 0, implicit $exec :: (load (s64), addrspace 1) |
660 |
| - %0:vreg_512_align2 = V_MFMA_F32_32X32X8F16_mac_vgprcd_e64 %1, %1, %0, 0, 0, 0, implicit $mode, implicit $exec |
661 |
| - %0:vreg_512_align2 = V_MFMA_F32_32X32X8F16_mac_vgprcd_e64 %1, %1, %0, 0, 0, 0, implicit $mode, implicit $exec |
662 |
| - S_CBRANCH_VCCNZ %bb.1, implicit $vcc |
663 |
| - S_BRANCH %bb.2 |
664 |
| -
|
665 |
| - bb.2: |
666 |
| - ; No VGPRs available for %0 |
667 |
| - S_NOP 0, implicit-def $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 |
668 |
| - S_NOP 0, implicit-def $vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 |
669 |
| - S_NOP 0, implicit-def $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23 |
670 |
| - S_NOP 0, implicit-def $vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31 |
671 |
| - S_NOP 0, implicit-def $vgpr32_vgpr33_vgpr34_vgpr35_vgpr36_vgpr37_vgpr38_vgpr39 |
672 |
| - S_NOP 0, implicit-def $vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr47 |
673 |
| - S_NOP 0, implicit-def $vgpr48_vgpr49_vgpr50_vgpr51_vgpr52_vgpr53_vgpr54_vgpr55 |
674 |
| - S_NOP 0, implicit-def $vgpr56_vgpr57_vgpr58_vgpr59_vgpr60_vgpr61_vgpr62_vgpr63 |
675 |
| - INLINEASM &"; use $0 ", 1 /* sideeffect attdialect */, 27983881 /* reguse:VReg_512_Align2 */, %0:vreg_512_align2 |
676 |
| - S_ENDPGM 0 |
677 |
| -
|
678 |
| -... |
679 |
| - |
680 | 597 | # There isn't an assignable AGPR around the first MFMA.
|
681 | 598 | ---
|
682 | 599 | name: inflate_result_to_agpr__V_MFMA_F32_32X32X8F16_vgprcd_e64_chain_no_agprs_first
|
|
0 commit comments