2515 lines · plain
1# RUN: llc -mtriple=amdgcn -mcpu=gfx942 -verify-machineinstrs -run-pass post-RA-hazard-rec %s -o - | FileCheck -check-prefixes=GCN,GFX942 %s2# RUN: llc -mtriple=amdgcn -mcpu=gfx950 -verify-machineinstrs -run-pass post-RA-hazard-rec %s -o - | FileCheck -check-prefixes=GCN,GFX950 %s3# RUN: llc -mtriple=amdgcn -mcpu=gfx950 -verify-machineinstrs -run-pass post-RA-hazard-rec --schedmodel=0 %s -o - | FileCheck -check-prefixes=GCN,GFX950 %s4 5# GCN-LABEL: name: valu_write_vgpr_sgemm_mfma_read6# GCN: V_MOV_B327# GCN: V_MOV_B328# GCN-NEXT: S_NOP 19# GCN-NEXT: V_MFMA10name: valu_write_vgpr_sgemm_mfma_read11body: |12 bb.0:13 $vgpr0 = V_MOV_B32_e32 1, implicit $exec14 $vgpr1 = V_MOV_B32_e32 1, implicit $exec15 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32_e64 $vgpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec16...17# GCN-LABEL: name: valu_write_agpr_sgemm_mfma_read18# GCN: V_ACCVGPR_WRITE_B32_e6419# GCN-NEXT: S_NOP 120# GCN-NEXT: V_MFMA21name: valu_write_agpr_sgemm_mfma_read22body: |23 bb.0:24 $vgpr0 = IMPLICIT_DEF25 $agpr4 = V_ACCVGPR_WRITE_B32_e64 1, implicit $exec26 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32_e64 $agpr4, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec27...28# GCN-LABEL: name: valu_write_vgpr_dgemm_mfma_read29# GCN: V_MOV_B3230# GCN: V_MOV_B3231# GCN-NEXT: S_NOP 132# GCN-NEXT: V_MFMA33name: valu_write_vgpr_dgemm_mfma_read34body: |35 bb.0:36 $vgpr0 = V_MOV_B32_e32 1, implicit $exec37 $vgpr1 = V_MOV_B32_e32 1, implicit $exec38 $vgpr2_vgpr3 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $vgpr0_vgpr1, 0, 0, 0, implicit $mode, implicit $exec39...40# GCN-LABEL: name: valu_write_vgpr_smfmac_read41# GCN: V_MOV_B3242# GCN-NEXT: S_NOP 143# GCN-NEXT: V_SMFMAC44name: valu_write_vgpr_smfmac_read45body: |46 bb.0:47 $vgpr32 = V_MOV_B32_e32 1, implicit $exec48 $agpr0_agpr1_agpr2_agpr3 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr0_agpr1_agpr2_agpr3, implicit $mode, implicit $exec49...50# GCN-LABEL: name: accmov_write_agpr_sgemm_mfma_read51# GCN: V_ACCVGPR_MOV_B3252# GCN-NEXT: S_NOP 153# GCN-NEXT: V_MFMA54name: accmov_write_agpr_sgemm_mfma_read55body: |56 bb.0:57 $vgpr0 = IMPLICIT_DEF58 $agpr4 = V_ACCVGPR_MOV_B32 $agpr5, implicit $exec59 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32_e64 $agpr4, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec60...61# GCN-LABEL: name: nonxdl_sgemm4x4_mfma_write_agpr_mfma_read_same_agpr_as_srcc62# GCN: V_MFMA63# GCN-NEXT: S_NOP 164# GCN-NEXT: V_MFMA65name: nonxdl_sgemm4x4_mfma_write_agpr_mfma_read_same_agpr_as_srcc66body: |67 bb.0:68 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32_e64 $vgpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec69 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32_e64 $vgpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec70...71# GCN-LABEL: name: nonxdl_sgemm4x4_mfma_write_vgpr_mfma_read_same_vgpr_as_srcc72# GCN: V_MFMA73# GCN-NEXT: S_NOP 174# GCN-NEXT: V_MFMA75name: nonxdl_sgemm4x4_mfma_write_vgpr_mfma_read_same_vgpr_as_srcc76body: |77 bb.0:78 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X1F32_vgprcd_e64 $vgpr4, $vgpr5, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec79 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X1F32_vgprcd_e64 $vgpr4, $vgpr5, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec80...81# GCN-LABEL: name: nonxdl_sgemm16x16_mfma_write_vgpr_mfma_read_same_vgpr_as_srcc82# GCN: V_MFMA83# GCN-NEXT: V_MFMA84name: nonxdl_sgemm16x16_mfma_write_vgpr_mfma_read_same_vgpr_as_srcc85body: |86 bb.0:87 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_F32_16X16X1F32_vgprcd_e64 $vgpr26, $vgpr27, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec88 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_F32_16X16X1F32_vgprcd_e64 $vgpr26, $vgpr27, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec89...90# GCN-LABEL: name: nonxdl_sgemm4x4_mfma_write_agpr_smfmac_read_same_agpr_as_srcc91# GCN: V_MFMA92# GCN-NEXT: S_NOP 193# GCN-NEXT: V_SMFMAC94name: nonxdl_sgemm4x4_mfma_write_agpr_smfmac_read_same_agpr_as_srcc95body: |96 bb.0:97 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32_e64 $vgpr4, $vgpr5, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec98 $agpr0_agpr1_agpr2_agpr3 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr0_agpr1_agpr2_agpr3, implicit $mode, implicit $exec99...100# GCN-LABEL: name: dgemm16x16_mfma_write_vgpr_mfma_read_same_vgpr_as_srcc101# GCN: V_MFMA102# GCN-NEXT: V_MFMA103name: dgemm16x16_mfma_write_vgpr_mfma_read_same_vgpr_as_srcc104body: |105 bb.0:106 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7, 0, 0, 0, implicit $mode, implicit $exec107 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7, 0, 0, 0, implicit $mode, implicit $exec108...109# GCN-LABEL: name: dgemm4x4_mfma_write_vgpr_mfma_read_same_vgpr_as_srcc110# GCN: V_MFMA111# GCN-NEXT: S_NOP 3112# GCN-NEXT: V_MFMA113name: dgemm4x4_mfma_write_vgpr_mfma_read_same_vgpr_as_srcc114body: |115 bb.0:116 $vgpr2_vgpr3 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec117 $vgpr2_vgpr3 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec118...119# GCN-LABEL: name: xdl_sgemm4x4_mfma_write_vgpr_mfma_read_same_vgpr_as_srcc120# GCN: V_MFMA121# GCN-NEXT: S_NOP 1122# GCN-NEXT: V_MFMA123name: xdl_sgemm4x4_mfma_write_vgpr_mfma_read_same_vgpr_as_srcc124body: |125 bb.0:126 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_4X4X4I8_vgprcd_e64 $vgpr4, $vgpr5, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec127 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_4X4X4I8_vgprcd_e64 $vgpr4, $vgpr5, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec128...129# GCN-LABEL: name: xdl_sgemm16x16_mfma_write_vgpr_mfma_read_same_vgpr_as_srcc130# GCN: V_MFMA131# GCN-NEXT: V_MFMA132name: xdl_sgemm16x16_mfma_write_vgpr_mfma_read_same_vgpr_as_srcc133body: |134 bb.0:135 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_I32_16X16X32I8_e64 $vgpr0_vgpr1, $vgpr2_vgpr3, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec136 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_I32_16X16X32I8_e64 $vgpr0_vgpr1, $vgpr2_vgpr3, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec137...138# GCN-LABEL: name: smfmac16x16_mfma_write_vgpr_mfma_read_same_vgpr_as_srcc139# GCN: V_SMFMAC140# GCN-NEXT: V_SMFMAC141name: smfmac16x16_mfma_write_vgpr_mfma_read_same_vgpr_as_srcc142body: |143 bb.0:144 $agpr0_agpr1_agpr2_agpr3 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr0_agpr1_agpr2_agpr3, implicit $mode, implicit $exec145 $agpr0_agpr1_agpr2_agpr3 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr0_agpr1_agpr2_agpr3, implicit $mode, implicit $exec146...147# GCN-LABEL: name: sgemm4x4_mfma_write_agpr_mfma_read_overlap148# GCN: V_MFMA149# GFX942-NEXT: S_NOP 2150# GFX950-NEXT: S_NOP 3151# GCN-NEXT: V_MFMA152name: sgemm4x4_mfma_write_agpr_mfma_read_overlap153body: |154 bb.0:155 $agpr2_agpr3_agpr4_agpr5 = V_MFMA_I32_4X4X4I8_e64 $vgpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec156 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_I32_4X4X4I8_e64 $vgpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec157...158# GCN-LABEL: name: sgemm4x4_mfma_write_vgpr_mfma_read_overlap159# GCN: V_MFMA160# GCN-NEXT: S_NOP 2161# GCN-NEXT: V_MFMA162name: sgemm4x4_mfma_write_vgpr_mfma_read_overlap163body: |164 bb.0:165 $vgpr2_vgpr3_vgpr4_vgpr5 = V_MFMA_I32_4X4X4I8_vgprcd_e64 $vgpr6, $vgpr7, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec166 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X1F32_vgprcd_e64 $vgpr6, $vgpr7, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec167...168# GCN-LABEL: name: sgemm4x4_mfma_write_agpr_smfmac_read_overlap169# GCN: V_MFMA170# GFX942-NEXT: S_NOP 2171# GFX950-NEXT: S_NOP 3172# GCN-NEXT: V_SMFMAC173name: sgemm4x4_mfma_write_agpr_smfmac_read_overlap174body: |175 bb.0:176 $agpr2_agpr3_agpr4_agpr5 = V_MFMA_I32_4X4X4I8_e64 $vgpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec177 $agpr0_agpr1_agpr2_agpr3 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr0_agpr1_agpr2_agpr3, implicit $mode, implicit $exec178...179# GCN-LABEL: name: xdl_sgemm16x16_mfma_write_agpr_mfma_read_overlap180# GCN: V_MFMA181# GFX942-NEXT: S_NOP 8182# GFX950-NEXT: S_NOP 9183# GCN-NEXT: V_MFMA184name: xdl_sgemm16x16_mfma_write_agpr_mfma_read_overlap185body: |186 bb.0:187 $agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17 = V_MFMA_I32_16X16X4I8_e64 $vgpr26, $vgpr27, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec188 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = V_MFMA_F32_16X16X1F32_e64 $vgpr26, $vgpr27, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec189...190# GCN-LABEL: name: xdl_sgemm16x16_mfma_write_vgpr_mfma_read_overlap191# GCN: V_MFMA192# GFX942-NEXT: S_NOP 8193# GFX950-NEXT: S_NOP 9194# GCN-NEXT: V_MFMA195name: xdl_sgemm16x16_mfma_write_vgpr_mfma_read_overlap196body: |197 bb.0:198 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17 = V_MFMA_I32_16X16X4I8_vgprcd_e64 $vgpr26, $vgpr27, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec199 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_I32_16X16X4I8_vgprcd_e64 $vgpr26, $vgpr27, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec200...201# GCN-LABEL: name: nonxdl_sgemm16x16_mfma_write_agpr_xdl_mfma_read_overlap202# GCN: V_MFMA203# GCN-NEXT: V_MFMA204name: nonxdl_sgemm16x16_mfma_write_agpr_xdl_mfma_read_overlap205body: |206 bb.0:207 $agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17 = V_MFMA_F32_16X16X1F32_e64 $vgpr26, $vgpr27, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec208 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = V_MFMA_I32_16X16X4I8_e64 $vgpr26, $vgpr27, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec209...210# GCN-LABEL: name: nonxdl_sgemm16x16_mfma_write_agpr_nonxdl_mfma_read_overlap211# GCN: V_MFMA212# GCN-NEXT: S_NOP 7213# GCN-NEXT: V_MFMA214name: nonxdl_sgemm16x16_mfma_write_agpr_nonxdl_mfma_read_overlap215body: |216 bb.0:217 $agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17 = V_MFMA_F32_16X16X1F32_e64 $vgpr26, $vgpr27, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec218 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = V_MFMA_F32_16X16X1F32_e64 $vgpr26, $vgpr27, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec219...220# GCN-LABEL: name: xdl_sgemm16x16_mfma_write_agpr_smfmac_read_overlap221# GCN: V_MFMA222# GFX942-NEXT: S_NOP 8223# GFX950-NEXT: S_NOP 9224# GCN-NEXT: V_SMFMAC225name: xdl_sgemm16x16_mfma_write_agpr_smfmac_read_overlap226body: |227 bb.0:228 $agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17 = V_MFMA_I32_16X16X4I8_e64 $vgpr26, $vgpr27, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec229 $agpr0_agpr1_agpr2_agpr3 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr0_agpr1_agpr2_agpr3, implicit $mode, implicit $exec230...231# GCN-LABEL: name: xdl_sgemm32x32_mfma_write_agpr_mfma_read_overlap232# GCN: V_MFMA233# GCN-NEXT: S_NOP 15234# GFX942-NEXT: S_NOP 0235# GFX950-NEXT: S_NOP 1236# GCN-NEXT: V_MFMA237name: xdl_sgemm32x32_mfma_write_agpr_mfma_read_overlap238body: |239 bb.0:240 $agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31_agpr32_agpr33 = V_MFMA_F32_32X32X4F16_e64 $vgpr26_vgpr27, $vgpr28_vgpr29, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31, 0, 0, 0, implicit $mode, implicit $exec241 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = V_MFMA_F32_32X32X2F32_e64 $vgpr26, $vgpr27, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec242...243# GCN-LABEL: name: xdl_sgemm32x32_mfma_write_vgpr_mfma_read_overlap244# GCN: V_MFMA245# GCN-NEXT: S_NOP 15246# GFX942-NEXT: S_NOP 0247# GFX950-NEXT: S_NOP 1248# GCN-NEXT: V_MFMA249name: xdl_sgemm32x32_mfma_write_vgpr_mfma_read_overlap250body: |251 bb.0:252 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31_vgpr32_vgpr33 = V_MFMA_F32_32X32X4F16_vgprcd_e64 $vgpr126_vgpr127, $vgpr128_vgpr129, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, 0, 0, 0, implicit $mode, implicit $exec253 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_F32_32X32X2F32_vgprcd_e64 $vgpr126, $vgpr127, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec254...255# GCN-LABEL: name: nonxdl_sgemm32x32_mfma_write_agpr_xdl_mfma_read_overlap256# GCN: V_MFMA257# GCN-NEXT: V_MFMA258name: nonxdl_sgemm32x32_mfma_write_agpr_xdl_mfma_read_overlap259body: |260 bb.0:261 $agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31_agpr32_agpr33 = V_MFMA_F32_32X32X1F32_e64 $vgpr26, $vgpr28, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31, 0, 0, 0, implicit $mode, implicit $exec262 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_I32_4X4X4I8_e64 $vgpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec263...264# GCN-LABEL: name: nonxdl_sgemm32x32_mfma_write_agpr_nonxdl_mfma_read_overlap265# GCN: V_MFMA266# GCN-NEXT: S_NOP 15267# GCN-NEXT: V_MFMA268name: nonxdl_sgemm32x32_mfma_write_agpr_nonxdl_mfma_read_overlap269body: |270 bb.0:271 $agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31_agpr32_agpr33 = V_MFMA_F32_32X32X1F32_e64 $vgpr26, $vgpr28, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31, 0, 0, 0, implicit $mode, implicit $exec272 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = V_MFMA_F32_32X32X2F32_e64 $vgpr26, $vgpr27, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec273...274# GCN-LABEL: name: xdl_sgemm32x32_mfma_write_agpr_smfmac_read_overlap275# GCN: V_MFMA276# GCN-NEXT: S_NOP 15277# GFX942-NEXT: S_NOP 0278# GFX950-NEXT: S_NOP 1279# GCN-NEXT: V_SMFMAC280name: xdl_sgemm32x32_mfma_write_agpr_smfmac_read_overlap281body: |282 bb.0:283 $agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31_agpr32_agpr33 = V_MFMA_F32_32X32X4F16_e64 $vgpr26_vgpr27, $vgpr28_vgpr29, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31, 0, 0, 0, implicit $mode, implicit $exec284 $agpr0_agpr1_agpr2_agpr3 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr0_agpr1_agpr2_agpr3, implicit $mode, implicit $exec285...286# GCN-LABEL: name: dgemm16x16_mfma_write_vgpr_mfma_read_overlap287# GCN: V_MFMA288# GFX942-NEXT: S_NOP 8289# GFX950-NEXT: S_NOP 15290# GFX950-NEXT: S_NOP 0291# GCN-NEXT: V_MFMA292name: dgemm16x16_mfma_write_vgpr_mfma_read_overlap293body: |294 bb.0:295 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7, 0, 0, 0, implicit $mode, implicit $exec296 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7, 0, 0, 0, implicit $mode, implicit $exec297...298# GCN-LABEL: name: dgemm4x4_mfma_write_vgpr_mfma_read_overlap299# GCN: V_MFMA300# GCN-NEXT: S_NOP 3301# GCN-NEXT: V_MFMA302name: dgemm4x4_mfma_write_vgpr_mfma_read_overlap303body: |304 bb.0:305 $vgpr2_vgpr3 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $vgpr0_vgpr1, 0, 0, 0, implicit $mode, implicit $exec306 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7, 0, 0, 0, implicit $mode, implicit $exec307...308# GCN-LABEL: name: dgemm16x16_mfma_write_vgpr_sgemm_mfma_read_overlap309# GCN: V_MFMA310# GFX942-NEXT: S_NOP 8311# GFX950-NEXT: S_NOP 15312# GFX950-NEXT: S_NOP 0313# GCN-NEXT: V_MFMA314name: dgemm16x16_mfma_write_vgpr_sgemm_mfma_read_overlap315body: |316 bb.0:317 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7, 0, 0, 0, implicit $mode, implicit $exec318 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X1F32_vgprcd_e64 $vgpr10, $vgpr11, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec319...320# GCN-LABEL: name: dgemm4x4_mfma_write_vgpr_sgemm_mfma_read_overlap321# GCN: V_MFMA322# GCN-NEXT: S_NOP 3323# GCN-NEXT: V_MFMA324name: dgemm4x4_mfma_write_vgpr_sgemm_mfma_read_overlap325body: |326 bb.0:327 $vgpr2_vgpr3 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $vgpr0_vgpr1, 0, 0, 0, implicit $mode, implicit $exec328 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X1F32_vgprcd_e64 $vgpr10, $vgpr11, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec329...330# GCN-LABEL: name: sgemm4x4_mfma_write_vgpr_dgemm_mfma_read_overlap331# GCN: V_MFMA332# GCN-NEXT: S_NOP 2333# GCN-NEXT: V_MFMA334name: sgemm4x4_mfma_write_vgpr_dgemm_mfma_read_overlap335body: |336 bb.0:337 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_4X4X4I8_vgprcd_e64 $vgpr10, $vgpr11, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec338 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7, 0, 0, 0, implicit $mode, implicit $exec339...340# GCN-LABEL: name: xdl_sgemm16x16_mfma_write_vgpr_dgemm_mfma_read_overlap341# GCN: V_MFMA342# GFX942-NEXT: S_NOP 8343# GFX950-NEXT: S_NOP 9344# GCN-NEXT: V_MFMA345name: xdl_sgemm16x16_mfma_write_vgpr_dgemm_mfma_read_overlap346body: |347 bb.0:348 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_I32_16X16X4I8_vgprcd_e64 $vgpr26, $vgpr27, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec349 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $vgpr20_vgpr21, $vgpr20_vgpr21, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7, 0, 0, 0, implicit $mode, implicit $exec350...351# GCN-LABEL: name: xdl_sgemm32x32_mfma_write_vgpr_dgemm_mfma_read_overlap352# GCN: V_MFMA353# GCN-NEXT: S_NOP 15354# GFX942-NEXT: S_NOP 0355# GFX950-NEXT: S_NOP 1356# GCN-NEXT: V_MFMA357name: xdl_sgemm32x32_mfma_write_vgpr_dgemm_mfma_read_overlap358body: |359 bb.0:360 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31 = V_MFMA_F32_32X32X4F16_vgprcd_e64 $vgpr126_vgpr127, $vgpr128_vgpr129, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, 0, 0, 0, implicit $mode, implicit $exec361 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $vgpr120_vgpr121, $vgpr120_vgpr121, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7, 0, 0, 0, implicit $mode, implicit $exec362...363# GCN-LABEL: name: xdl_sgemm16x16_mfma_write_agpr_mfma_read_partial364# GCN: V_MFMA365# GFX942-NEXT: S_NOP 8366# GFX950-NEXT: S_NOP 9367# GCN-NEXT: V_MFMA368name: xdl_sgemm16x16_mfma_write_agpr_mfma_read_partial369body: |370 bb.0:371 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = V_MFMA_I32_16X16X4I8_e64 $vgpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec372 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32_e64 $vgpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec373...374# GCN-LABEL: name: xdl_sgemm16x16_mfma_write_vgpr_mfma_read_partial375# GCN: V_MFMA376# GFX942-NEXT: S_NOP 8377# GFX950-NEXT: S_NOP 9378# GCN-NEXT: V_MFMA379name: xdl_sgemm16x16_mfma_write_vgpr_mfma_read_partial380body: |381 bb.0:382 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_I32_16X16X4I8_vgprcd_e64 $vgpr16, $vgpr17, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec383 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X1F32_vgprcd_e64 $vgpr16, $vgpr17, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec384...385# GCN-LABEL: name: xdl_sgemm4x4_mfma_write_agpr_mfma_srca_read_overlap386# GCN: V_MFMA387# GCN-NEXT: S_NOP 4388# GCN-NEXT: V_MFMA389name: xdl_sgemm4x4_mfma_write_agpr_mfma_srca_read_overlap390body: |391 bb.0:392 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_I32_4X4X4I8_e64 $vgpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec393 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32_e64 $agpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec394...395# GCN-LABEL: name: xdl_sgemm16x16_mfma_write_agpr_mfma_srca_read_overlap396# GCN: V_MFMA397# GFX942-NEXT: S_NOP 10398# GFX950-NEXT: S_NOP 11399# GCN-NEXT: V_MFMA400name: xdl_sgemm16x16_mfma_write_agpr_mfma_srca_read_overlap401body: |402 bb.0:403 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = V_MFMA_I32_16X16X4I8_e64 $vgpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec404 $agpr20_agpr21_agpr22_agpr23 = V_MFMA_F32_4X4X1F32_e64 $agpr1, $vgpr0, $agpr20_agpr21_agpr22_agpr23, 0, 0, 0, implicit $mode, implicit $exec405...406# GCN-LABEL: name: nonxdl_sgemm16x16_mfma_write_agpr_mfma_srca_read_overlap407# GCN: V_MFMA408# GCN-NEXT: S_NOP 9409# GCN-NEXT: V_MFMA410name: nonxdl_sgemm16x16_mfma_write_agpr_mfma_srca_read_overlap411body: |412 bb.0:413 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = V_MFMA_F32_16X16X1F32_e64 $vgpr26, $vgpr27, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec414 $agpr20_agpr21_agpr22_agpr23 = V_MFMA_F32_4X4X1F32_e64 $agpr1, $vgpr0, $agpr20_agpr21_agpr22_agpr23, 0, 0, 0, implicit $mode, implicit $exec415...416# GCN-LABEL: name: smfmac32x32_write_agpr_mfma_srca_read_overlap417# GCN: V_SMFMAC418# GFX942-NEXT: S_NOP 10419# GFX950-NEXT: S_NOP 11420# GCN-NEXT: V_MFMA421name: smfmac32x32_write_agpr_mfma_srca_read_overlap422body: |423 bb.0:424 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = V_SMFMAC_I32_32X32X32_I8_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, implicit $mode, implicit $exec425 $agpr20_agpr21_agpr22_agpr23 = V_MFMA_F32_4X4X1F32_e64 $agpr1, $vgpr0, $agpr20_agpr21_agpr22_agpr23, 0, 0, 0, implicit $mode, implicit $exec426...427# GCN-LABEL: name: smfmac32x32_write_agpr_smfmac_srcc_read_overlap428# GCN: V_SMFMAC429# GFX942-NEXT: S_NOP 10430# GFX950-NEXT: S_NOP 11431# GCN-NEXT: V_SMFMAC432name: smfmac32x32_write_agpr_smfmac_srcc_read_overlap433body: |434 bb.0:435 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_SMFMAC_I32_32X32X32_I8_e64 $agpr0_agpr1, $agpr2_agpr3_agpr4_agpr5, $vgpr2, 0, 0, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, implicit $mode, implicit $exec436 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_SMFMAC_I32_32X32X32_I8_e64 $agpr0_agpr1, $agpr2_agpr3_agpr4_agpr5, $vgpr2, 0, 0, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, implicit $mode, implicit $exec437...438# GCN-LABEL: name: xdl_sgemm32x32_mfma_write_agpr_mfma_srca_read_overlap439# GCN: V_MFMA440# GCN-NEXT: S_NOP 15441# GFX942-NEXT: S_NOP 2442# GFX950-NEXT: S_NOP 3443# GCN-NEXT: V_MFMA444name: xdl_sgemm32x32_mfma_write_agpr_mfma_srca_read_overlap445body: |446 bb.0:447 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31 = V_MFMA_F32_32X32X4F16_e64 $vgpr26_vgpr27, $vgpr28_vgpr29, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31, 0, 0, 0, implicit $mode, implicit $exec448 $agpr20_agpr21_agpr22_agpr23 = V_MFMA_F32_4X4X1F32_e64 $agpr1, $vgpr0, $agpr20_agpr21_agpr22_agpr23, 0, 0, 0, implicit $mode, implicit $exec449...450# GCN-LABEL: name: nonxdl_sgemm32x32_mfma_write_agpr_mfma_srca_read_overlap451# GCN: V_MFMA452# GCN-NEXT: S_NOP 15453# GCN-NEXT: S_NOP 1454# GCN-NEXT: V_MFMA455name: nonxdl_sgemm32x32_mfma_write_agpr_mfma_srca_read_overlap456body: |457 bb.0:458 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31 = V_MFMA_F32_32X32X1F32_e64 $vgpr26, $vgpr28, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31, 0, 0, 0, implicit $mode, implicit $exec459 $agpr120_agpr121_agpr122_agpr123 = V_MFMA_F32_4X4X1F32_e64 $agpr1, $vgpr0, $agpr120_agpr121_agpr122_agpr123, 0, 0, 0, implicit $mode, implicit $exec460...461# GCN-LABEL: name: xdl_sgemm4x4_mfma_write_vgpr_mfma_srca_read_overlap462# GCN: V_MFMA463# GCN-NEXT: S_NOP 4464# GCN-NEXT: V_MFMA465name: xdl_sgemm4x4_mfma_write_vgpr_mfma_srca_read_overlap466body: |467 bb.0:468 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_4X4X4I8_vgprcd_e64 $vgpr1, $vgpr0, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec469 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_I32_4X4X4I8_e64 $vgpr0, $agpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec470...471# GCN-LABEL: name: xdl_sgemm4x4_mfma_write_vgpr_dmfma4x4_srca_read_overlap472# GCN: V_MFMA473# GCN-NEXT: S_NOP 4474# GCN-NEXT: V_MFMA475name: xdl_sgemm4x4_mfma_write_vgpr_dmfma4x4_srca_read_overlap476body: |477 bb.0:478 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_4X4X4I8_vgprcd_e64 $vgpr1, $vgpr0, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec479 $vgpr2_vgpr3 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr4_vgpr5, $vgpr4_vgpr5, 0, 0, 0, implicit $mode, implicit $exec480...481# GCN-LABEL: name: xdl_sgemm4x4_mfma_write_vgpr_dmfma16x16_srca_read_overlap482# GCN: V_MFMA483# GCN-NEXT: S_NOP 4484# GCN-NEXT: V_MFMA485name: xdl_sgemm4x4_mfma_write_vgpr_dmfma16x16_srca_read_overlap486body: |487 bb.0:488 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_4X4X4I8_vgprcd_e64 $vgpr1, $vgpr0, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec489 $vgpr2_vgpr3 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr4_vgpr5, $vgpr4_vgpr5, 0, 0, 0, implicit $mode, implicit $exec490...491# GCN-LABEL: name: xdl_sgemm4x4_mfma_write_vgpr_smfmac_srca_read_overlap492# GCN: V_MFMA493# GCN-NEXT: S_NOP 4494# GCN-NEXT: V_SMFMAC495name: xdl_sgemm4x4_mfma_write_vgpr_smfmac_srca_read_overlap496body: |497 bb.0:498 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_4X4X4I8_vgprcd_e64 $vgpr1, $vgpr0, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec499 $agpr0_agpr1_agpr2_agpr3 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr0_vgpr1, $vgpr12_vgpr13_vgpr14_vgpr15, $vgpr32, 0, 0, $agpr0_agpr1_agpr2_agpr3, implicit $mode, implicit $exec500...501# GCN-LABEL: name: dgemm4x4_mfma_write_vgpr_mfma_srca_read_overlap502# GCN: V_MFMA503# GCN-NEXT: S_NOP 5504# GCN-NEXT: V_MFMA505name: dgemm4x4_mfma_write_vgpr_mfma_srca_read_overlap506body: |507 bb.0:508 $vgpr2_vgpr3 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $vgpr0_vgpr1, 0, 0, 0, implicit $mode, implicit $exec509 $vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $vgpr2_vgpr3, $vgpr10_vgpr11, $vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17, 0, 0, 0, implicit $mode, implicit $exec510...511# GCN-LABEL: name: dgemm16x16_mfma_write_vgpr_mfma_srca_read_overlap512# GCN: V_MFMA513# GFX942-NEXT: S_NOP 10514# GFX950-NEXT: S_NOP 15515# GFX950-NEXT: S_NOP 2516# GCN-NEXT: V_MFMA517name: dgemm16x16_mfma_write_vgpr_mfma_srca_read_overlap518body: |519 bb.0:520 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17, 0, 0, 0, implicit $mode, implicit $exec521 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr10_vgpr11, $vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17, 0, 0, 0, implicit $mode, implicit $exec522...523# GCN-LABEL: name: dgemm4x4_mfma_write_vgpr_sgemm_mfma_srca_read_overlap524# GCN: V_MFMA525# GCN-NEXT: S_NOP 5526# GCN-NEXT: V_MFMA527name: dgemm4x4_mfma_write_vgpr_sgemm_mfma_srca_read_overlap528body: |529 bb.0:530 $vgpr4_vgpr5 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $vgpr0_vgpr1, 0, 0, 0, implicit $mode, implicit $exec531 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X1F32_vgprcd_e64 $vgpr4, $vgpr0, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec532...533# GCN-LABEL: name: dgemm16x16_mfma_write_vgpr_sgemm_mfma_srca_read_overlap534# GCN: V_MFMA535# GFX942-NEXT: S_NOP 10536# GFX950-NEXT: S_NOP 15537# GFX950-NEXT: S_NOP 2538# GCN-NEXT: V_MFMA539name: dgemm16x16_mfma_write_vgpr_sgemm_mfma_srca_read_overlap540body: |541 bb.0:542 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17, 0, 0, 0, implicit $mode, implicit $exec543 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X1F32_vgprcd_e64 $vgpr4, $vgpr0, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec544...545# GCN-LABEL: name: xdl_sgemm4x4_mfma_write_vgpr_dgemm_mfma_srca_read_overlap546# GCN: V_MFMA547# GCN-NEXT: S_NOP 4548# GCN-NEXT: V_MFMA549name: xdl_sgemm4x4_mfma_write_vgpr_dgemm_mfma_srca_read_overlap550body: |551 bb.0:552 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_4X4X4I8_vgprcd_e64 $vgpr4, $vgpr0, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec553 $vgpr4_vgpr5 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr4_vgpr5, $vgpr4_vgpr5, 0, 0, 0, implicit $mode, implicit $exec554...555# GCN-LABEL: name: xdl_sgemm4x4_mfma_write_agpr_mfma_srcb_read_overlap556# GCN: V_MFMA557# GCN-NEXT: S_NOP 4558# GCN-NEXT: V_MFMA559name: xdl_sgemm4x4_mfma_write_agpr_mfma_srcb_read_overlap560body: |561 bb.0:562 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_I32_4X4X4I8_e64 $vgpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec563 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32_e64 $vgpr1, $agpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec564...565# GCN-LABEL: name: xdl_sgemm4x4_mfma_write_vgpr_mfma_srcb_read_overlap566# GCN: V_MFMA567# GCN-NEXT: S_NOP 4568# GCN-NEXT: V_MFMA569name: xdl_sgemm4x4_mfma_write_vgpr_mfma_srcb_read_overlap570body: |571 bb.0:572 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_4X4X4I8_vgprcd_e64 $vgpr1, $vgpr0, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec573 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32_e64 $agpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec574...575# GCN-LABEL: name: dgemm4x4_mfma_write_vgpr_mfma_srcb_read_overlap576# GCN: V_MFMA577# GCN-NEXT: S_NOP 5578# GCN-NEXT: V_MFMA579name: dgemm4x4_mfma_write_vgpr_mfma_srcb_read_overlap580body: |581 bb.0:582 $vgpr2_vgpr3 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $vgpr0_vgpr1, 0, 0, 0, implicit $mode, implicit $exec583 $vgpr2_vgpr3 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr2_vgpr3, $vgpr0_vgpr1, 0, 0, 0, implicit $mode, implicit $exec584...585# GCN-LABEL: name: dgemm4x4_mfma_write_vgpr_smfmac_srcb_read_overlap586# GCN: V_MFMA587# GCN-NEXT: S_NOP 5588# GCN-NEXT: V_SMFMAC589name: dgemm4x4_mfma_write_vgpr_smfmac_srcb_read_overlap590body: |591 bb.0:592 $vgpr2_vgpr3 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $vgpr0_vgpr1, 0, 0, 0, implicit $mode, implicit $exec593 $agpr0_agpr1_agpr2_agpr3 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr10_vgpr11, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr0_agpr1_agpr2_agpr3, implicit $mode, implicit $exec594...595# GCN-LABEL: name: dgemm4x4_mfma_write_vgpr_smfmac_srcc_read_overlap596# GCN: V_MFMA597# GCN-NEXT: S_NOP 5598# GCN-NEXT: V_SMFMAC599name: dgemm4x4_mfma_write_vgpr_smfmac_srcc_read_overlap600body: |601 bb.0:602 $vgpr2_vgpr3 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $vgpr0_vgpr1, 0, 0, 0, implicit $mode, implicit $exec603 $agpr0_agpr1_agpr2_agpr3 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr10_vgpr11, $vgpr12_vgpr13_vgpr14_vgpr15, $vgpr2, 0, 0, $agpr0_agpr1_agpr2_agpr3, implicit $mode, implicit $exec604...605# GCN-LABEL: name: dgemm16x16_mfma_write_vgpr_mfma_srcb_read_overlap606# GCN: V_MFMA607# GFX942-NEXT: S_NOP 10608# GFX950-NEXT: S_NOP 15609# GFX950-NEXT: S_NOP 2610# GCN-NEXT: V_MFMA611name: dgemm16x16_mfma_write_vgpr_mfma_srcb_read_overlap612body: |613 bb.0:614 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17, 0, 0, 0, implicit $mode, implicit $exec615 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $vgpr10_vgpr11, $vgpr0_vgpr1, $vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17, 0, 0, 0, implicit $mode, implicit $exec616...617# GCN-LABEL: name: dgemm16x16_mfma_write_vgpr_smfmac_srcb_read_overlap618# GCN: V_MFMA619# GFX942-NEXT: S_NOP 10620# GFX950-NEXT: S_NOP 15621# GFX950-NEXT: S_NOP 2622# GCN-NEXT: V_SMFMAC623name: dgemm16x16_mfma_write_vgpr_smfmac_srcb_read_overlap624body: |625 bb.0:626 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17, 0, 0, 0, implicit $mode, implicit $exec627 $agpr0_agpr1_agpr2_agpr3 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr10_vgpr11, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr0_agpr1_agpr2_agpr3, implicit $mode, implicit $exec628...629# GCN-LABEL: name: dgemm16x16_mfma_write_vgpr_smfmac_srcc_read_overlap630# GCN: V_MFMA631# GFX942-NEXT: S_NOP 10632# GFX950-NEXT: S_NOP 15633# GFX950-NEXT: S_NOP 2634 635# GCN-NEXT: V_SMFMAC636name: dgemm16x16_mfma_write_vgpr_smfmac_srcc_read_overlap637body: |638 bb.0:639 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17, 0, 0, 0, implicit $mode, implicit $exec640 $agpr0_agpr1_agpr2_agpr3 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr10_vgpr11, $vgpr12_vgpr13_vgpr14_vgpr15, $vgpr2, 0, 0, $agpr0_agpr1_agpr2_agpr3, implicit $mode, implicit $exec641...642# GCN-LABEL: name: xdl_sgemm4x4_mfma_write_vgpr_smfmac_srcc_read_overlap643# GCN: V_MFMA644# GCN-NEXT: S_NOP 4645# GCN-NEXT: V_SMFMAC646name: xdl_sgemm4x4_mfma_write_vgpr_smfmac_srcc_read_overlap647body: |648 bb.0:649 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_4X4X4I8_vgprcd_e64 $vgpr1, $vgpr0, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec650 $agpr0_agpr1_agpr2_agpr3 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr10_vgpr11, $vgpr12_vgpr13_vgpr14_vgpr15, $vgpr1, 0, 0, $agpr0_agpr1_agpr2_agpr3, implicit $mode, implicit $exec651...652# GCN-LABEL: name: xdl_smfma4x4_write_vgpr_vm_read653# GCN: V_MFMA654# GCN-NEXT: S_NOP 4655# GCN-NEXT: BUFFER_STORE_DWORD656name: xdl_smfma4x4_write_vgpr_vm_read657body: |658 bb.0:659 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_4X4X4I8_vgprcd_e64 $vgpr1, $vgpr0, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec660 BUFFER_STORE_DWORD_OFFSET $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $mode, implicit $exec661...662# GCN-LABEL: name: xdl_smfma4x4_write_vgpr_flat_read663# GCN: V_MFMA664# GCN-NEXT: S_NOP 4665# GCN-NEXT: FLAT_STORE_DWORD666name: xdl_smfma4x4_write_vgpr_flat_read667body: |668 bb.0:669 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_4X4X4I8_vgprcd_e64 $vgpr1, $vgpr0, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec670 FLAT_STORE_DWORD $vgpr0_vgpr1, $vgpr4, 0, 0, implicit $mode, implicit $exec, implicit $flat_scr671...672# GCN-LABEL: name: xdl_smfma4x4_write_vgpr_lds_read673# GCN: V_MFMA674# GCN-NEXT: S_NOP 4675# GCN-NEXT: DS_WRITE_B32676name: xdl_smfma4x4_write_vgpr_lds_read677body: |678 bb.0:679 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_4X4X4I8_vgprcd_e64 $vgpr1, $vgpr0, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec680 DS_WRITE_B32 $vgpr0, $vgpr4, 0, 0, implicit $m0, implicit $mode, implicit $exec681...682# GCN-LABEL: name: xdl_smfma4x4_write_vgpr_exp_read683# GCN: V_MFMA684# GCN-NEXT: S_NOP 4685# GCN-NEXT: EXP_DONE686name: xdl_smfma4x4_write_vgpr_exp_read687body: |688 bb.0:689 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_4X4X4I8_vgprcd_e64 $vgpr1, $vgpr0, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec690 EXP_DONE 12, $vgpr4, $vgpr0, $vgpr0, $vgpr0, 0, 0, 15, implicit $exec691...692# GCN-LABEL: name: smfmac16x16_write_vgpr_flat_read693# GCN: V_SMFMAC694# GFX942-NEXT: S_NOP 6695# GFX950-NEXT: S_NOP 7696# GCN-NEXT: FLAT_STORE_DWORD697name: smfmac16x16_write_vgpr_flat_read698body: |699 bb.0:700 $vgpr0_vgpr1_vgpr2_vgpr3 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $vgpr0_vgpr1_vgpr2_vgpr3, implicit $mode, implicit $exec701 FLAT_STORE_DWORD $vgpr16_vgpr17, $vgpr1, 0, 0, implicit $mode, implicit $exec, implicit $flat_scr702...703# GCN-LABEL: name: xdl_smfma16x16_write_vgpr_flat_read704# GCN: V_MFMA705# GFX942-NEXT: S_NOP 10706# GFX950-NEXT: S_NOP 11707# GCN-NEXT: FLAT_STORE_DWORD708name: xdl_smfma16x16_write_vgpr_flat_read709body: |710 bb.0:711 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_I32_16X16X4I8_vgprcd_e64 $vgpr16, $vgpr17, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec712 FLAT_STORE_DWORD $vgpr16_vgpr17, $vgpr1, 0, 0, implicit $mode, implicit $exec, implicit $flat_scr713...714# GCN-LABEL: name: smfmac32x32_write_vgpr_flat_read715# GCN: V_SMFMAC716# GFX942-NEXT: S_NOP 10717# GFX950-NEXT: S_NOP 11718# GCN-NEXT: FLAT_STORE_DWORD719name: smfmac32x32_write_vgpr_flat_read720body: |721 bb.0:722 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_SMFMAC_I32_32X32X32_I8_e64 $agpr0_agpr1, $agpr2_agpr3_agpr4_agpr5, $vgpr2, 0, 0, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, implicit $mode, implicit $exec723 FLAT_STORE_DWORD $vgpr16_vgpr17, $vgpr1, 0, 0, implicit $mode, implicit $exec, implicit $flat_scr724...725# GCN-LABEL: name: xdl_smfma32x32_write_vgpr_flat_read726# GCN: V_MFMA727# GCN-NEXT: S_NOP 15728# GFX942-NEXT: S_NOP 2729# GFX950-NEXT: S_NOP 3730# GCN-NEXT: FLAT_STORE_DWORD731name: xdl_smfma32x32_write_vgpr_flat_read732body: |733 bb.0:734 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31 = V_MFMA_F32_32X32X4F16_e64 $vgpr26_vgpr27, $vgpr28_vgpr29, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31, 0, 0, 0, implicit $mode, implicit $exec735 FLAT_STORE_DWORD $vgpr16_vgpr17, $agpr1, 0, 0, implicit $mode, implicit $exec, implicit $flat_scr736...737# GCN-LABEL: name: dmfma4x4_write_vgpr_flat_read_overlap738# GCN: V_MFMA739# GCN-NEXT: S_NOP 8740# GCN-NEXT: FLAT_STORE_DWORD741name: dmfma4x4_write_vgpr_flat_read_overlap742body: |743 bb.0:744 $vgpr4_vgpr5 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $vgpr0_vgpr1, 0, 0, 0, implicit $mode, implicit $exec745 FLAT_STORE_DWORD $vgpr0_vgpr1, $vgpr5, 0, 0, implicit $mode, implicit $exec, implicit $flat_scr746...747# GCN-LABEL: name: dmfma4x4_write_vgpr_flat_read_full748# GCN: V_MFMA749# GCN-NEXT: S_NOP 8750# GCN-NEXT: FLAT_STORE_DWORD751name: dmfma4x4_write_vgpr_flat_read_full752body: |753 bb.0:754 $vgpr4_vgpr5 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $vgpr0_vgpr1, 0, 0, 0, implicit $mode, implicit $exec755 FLAT_STORE_DWORDX2 $vgpr0_vgpr1, $vgpr4_vgpr5, 0, 0, implicit $mode, implicit $exec, implicit $flat_scr756...757# GCN-LABEL: name: dmfma16x16_write_vgpr_flat_read758# GCN: V_MFMA759# GCN-NEXT: S_NOP 15760# GCN-NEXT: S_NOP 1761# GCN-NEXT: FLAT_STORE_DWORD762name: dmfma16x16_write_vgpr_flat_read763body: |764 bb.0:765 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7, 0, 0, 0, implicit $mode, implicit $exec766 FLAT_STORE_DWORD $vgpr0_vgpr1, $vgpr4, 0, 0, implicit $mode, implicit $exec, implicit $flat_scr767...768# GCN-LABEL: name: xdl_smfma4x4_write_vgpr_valu_read769# GCN: V_MFMA770# GCN-NEXT: S_NOP 4771# GCN-NEXT: V_MOV_B32772name: xdl_smfma4x4_write_vgpr_valu_read773body: |774 bb.0:775 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_4X4X4I8_vgprcd_e64 $vgpr1, $vgpr0, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec776 $vgpr4 = V_MOV_B32_e32 $vgpr0, implicit $mode, implicit $exec777...778# GCN-LABEL: name: xdl_smfma16x16_write_vgpr_valu_read779# GCN: V_MFMA780# GFX942-NEXT: S_NOP 10781# GFX950-NEXT: S_NOP 11782# GCN-NEXT: V_MOV_B32783name: xdl_smfma16x16_write_vgpr_valu_read784body: |785 bb.0:786 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_I32_16X16X4I8_vgprcd_e64 $vgpr16, $vgpr17, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec787 $vgpr16 = V_MOV_B32_e32 $vgpr0, implicit $mode, implicit $exec788...789# GCN-LABEL: name: xdl_smfma32x32_write_vgpr_valu_read790# GCN: V_MFMA791# GCN-NEXT: S_NOP 15792# GFX942-NEXT: S_NOP 2793# GFX950-NEXT: S_NOP 3794# GCN-NEXT: V_MOV_B32795name: xdl_smfma32x32_write_vgpr_valu_read796body: |797 bb.0:798 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31 = V_MFMA_F32_32X32X4F16_vgprcd_e64 $vgpr126_vgpr127, $vgpr128_vgpr129, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, 0, 0, 0, implicit $mode, implicit $exec799 $vgpr16 = V_MOV_B32_e32 $vgpr0, implicit $mode, implicit $exec800...801# GCN-LABEL: name: dmfma4x4_write_vgpr_valu_read802# GCN: V_MFMA803# GCN-NEXT: S_NOP 5804# GCN-NEXT: V_MOV_B32805name: dmfma4x4_write_vgpr_valu_read806body: |807 bb.0:808 $vgpr4_vgpr5 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $vgpr0_vgpr1, 0, 0, 0, implicit $mode, implicit $exec809 $vgpr6 = V_MOV_B32_e32 $vgpr5, implicit $exec810...811# GCN-LABEL: name: dmfma16x16_write_vgpr_valu_read812# GCN: V_MFMA813# GFX942-NEXT: S_NOP 10814# GFX950-NEXT: S_NOP 15815# GFX950-NEXT: S_NOP 2816# GCN-NEXT: V_MOV_B32817name: dmfma16x16_write_vgpr_valu_read818body: |819 bb.0:820 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7, 0, 0, 0, implicit $mode, implicit $exec821 $vgpr12 = V_MOV_B32_e32 $vgpr4, implicit $exec822...823# GCN-LABEL: name: xdl_smfma4x4_write_vgpr_accv_read824# GCN: V_MFMA825# GCN-NEXT: S_NOP 4826# GCN-NEXT: V_ACCVGPR_WRITE_B32_e64827name: xdl_smfma4x4_write_vgpr_accv_read828body: |829 bb.0:830 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_4X4X4I8_vgprcd_e64 $vgpr1, $vgpr0, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec831 $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $mode, implicit $exec832...833# GCN-LABEL: name: xdl_smfma16x16_write_vgpr_accv_read834# GCN: V_MFMA835# GFX942-NEXT: S_NOP 10836# GFX950-NEXT: S_NOP 11837# GCN-NEXT: V_ACCVGPR_WRITE_B32_e64838name: xdl_smfma16x16_write_vgpr_accv_read839body: |840 bb.0:841 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_I32_16X16X4I8_vgprcd_e64 $vgpr16, $vgpr17, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec842 $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $mode, implicit $exec843...844# GCN-LABEL: name: xdl_smfma32x32_write_vgpr_accv_read845# GCN: V_MFMA846# GCN-NEXT: S_NOP 15847# GFX942-NEXT: S_NOP 2848# GFX950-NEXT: S_NOP 3849# GCN-NEXT: V_ACCVGPR_WRITE_B32_e64850name: xdl_smfma32x32_write_vgpr_accv_read851body: |852 bb.0:853 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31 = V_MFMA_F32_32X32X4F16_vgprcd_e64 $vgpr126_vgpr127, $vgpr128_vgpr129, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, 0, 0, 0, implicit $mode, implicit $exec854 $agpr0 = V_ACCVGPR_WRITE_B32_e64 $vgpr0, implicit $mode, implicit $exec855...856# GCN-LABEL: name: xdl_smfma4x4_write_vgpr_dot_read857# GCN: V_MFMA858# GCN-NEXT: S_NOP 4859# GCN-NEXT: V_DOT860name: xdl_smfma4x4_write_vgpr_dot_read861body: |862 bb.0:863 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_4X4X4I8_vgprcd_e64 $vgpr1, $vgpr0, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec864 $vgpr4 = V_DOT4C_I32_I8_e32 $vgpr0, $vgpr1, $vgpr4, implicit $exec865...866# GCN-LABEL: name: dmfma4x4_write_vgpr_dot_read867# GCN: V_MFMA868# GCN-NEXT: S_NOP 5869# GCN-NEXT: V_DOT870name: dmfma4x4_write_vgpr_dot_read871body: |872 bb.0:873 $vgpr4_vgpr5 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $vgpr0_vgpr1, 0, 0, 0, implicit $mode, implicit $exec874 $vgpr1 = V_DOT4C_I32_I8_e32 $vgpr0, $vgpr5, $vgpr1, implicit $exec875...876# GCN-LABEL: name: dmfma16x16_write_vgpr_dot_read877# GCN: V_MFMA878# GFX942-NEXT: S_NOP 10879# GFX950-NEXT: S_NOP 15880# GFX950-NEXT: S_NOP 2881 882# GCN-NEXT: V_DOT883name: dmfma16x16_write_vgpr_dot_read884body: |885 bb.0:886 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7, 0, 0, 0, implicit $mode, implicit $exec887 $vgpr1 = V_DOT4C_I32_I8_e32 $vgpr0, $vgpr4, $vgpr1, implicit $exec888...889# GCN-LABEL: name: xdl_smfma4x4_write_vgpr_valu_write890# GCN: V_MFMA891# GCN-NEXT: S_NOP 4892# GCN-NEXT: V_MOV_B32893name: xdl_smfma4x4_write_vgpr_valu_write894body: |895 bb.0:896 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_4X4X4I8_vgprcd_e64 $vgpr4, $vgpr0, $vgpr6_vgpr7_vgpr8_vgpr9, 0, 0, 0, implicit $mode, implicit $exec897 $vgpr1 = V_MOV_B32_e32 0, implicit $mode, implicit $exec898...899# GCN-LABEL: name: xdl_smfma16x16_write_vgpr_valu_write900# GCN: V_MFMA901# GFX942-NEXT: S_NOP 10902# GFX950-NEXT: S_NOP 11903# GCN-NEXT: V_MOV_B32904name: xdl_smfma16x16_write_vgpr_valu_write905body: |906 bb.0:907 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_I32_16X16X4I8_vgprcd_e64 $vgpr16, $vgpr17, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec908 $vgpr1 = V_MOV_B32_e32 0, implicit $mode, implicit $exec909...910# GCN-LABEL: name: xdl_smfma32x32_write_vgpr_valu_write911# GCN: V_MFMA912# GCN-NEXT: S_NOP 15913# GFX942-NEXT: S_NOP 2914# GFX950-NEXT: S_NOP 3915# GCN-NEXT: V_MOV_B32916name: xdl_smfma32x32_write_vgpr_valu_write917body: |918 bb.0:919 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31 = V_MFMA_F32_32X32X4F16_vgprcd_e64 $vgpr126_vgpr127, $vgpr128_vgpr129, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, 0, 0, 0, implicit $mode, implicit $exec920 $vgpr1 = V_MOV_B32_e32 0, implicit $mode, implicit $exec921...922# GCN-LABEL: name: xdl_smfma4x4_write_vgpr_valu_f16_write923# GCN: V_MFMA924# GCN-NEXT: S_NOP 4925# GCN-NEXT: V_FMA_F16_e64926name: xdl_smfma4x4_write_vgpr_valu_f16_write927body: |928 bb.0:929 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_4X4X4I8_vgprcd_e64 $vgpr1, $vgpr0, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec930 $vgpr1 = V_FMA_F16_e64 0, 0, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec931...932# GCN-LABEL: name: xdl_smfma16x16_write_vgpr_valu_f16_write933# GCN: V_MFMA934# GFX942-NEXT: S_NOP 10935# GFX950-NEXT: S_NOP 11936# GCN-NEXT: V_FMA_F16_e64937name: xdl_smfma16x16_write_vgpr_valu_f16_write938body: |939 bb.0:940 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_I32_16X16X4I8_vgprcd_e64 $vgpr16, $vgpr17, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec941 $vgpr1 = V_FMA_F16_e64 0, 0, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec942...943# GCN-LABEL: name: xdl_smfma32x32_write_vgpr_valu_f16_write944# GCN: V_MFMA945# GCN-NEXT: S_NOP 15946# GFX942-NEXT: S_NOP 2947# GFX950-NEXT: S_NOP 3948# GCN-NEXT: V_FMA_F16_e64949name: xdl_smfma32x32_write_vgpr_valu_f16_write950body: |951 bb.0:952 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31 = V_MFMA_F32_32X32X4F16_vgprcd_e64 $vgpr126_vgpr127, $vgpr128_vgpr129, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, 0, 0, 0, implicit $mode, implicit $exec953 $vgpr1 = V_FMA_F16_e64 0, 0, 0, 0, 0, 0, 0, 0, implicit $mode, implicit $exec954...955# GCN-LABEL: name: xdl_smfma4x4_write_vgpr_valu_sdwa_write956# GCN: V_MFMA957# GCN-NEXT: S_NOP 4958# GCN-NEXT: V_MOV_B32_sdwa959name: xdl_smfma4x4_write_vgpr_valu_sdwa_write960body: |961 bb.0:962 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_4X4X4I8_vgprcd_e64 $vgpr1, $vgpr0, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec963 $vgpr1 = V_MOV_B32_sdwa 0, $vgpr16, 0, 5, 2, 4, implicit $exec, implicit $vgpr1(tied-def 0)964...965# GCN-LABEL: name: xdl_smfma16x16_write_vgpr_valu_sdwa_write966# GCN: V_MFMA967# GFX942-NEXT: S_NOP 10968# GFX950-NEXT: S_NOP 11969# GCN-NEXT: V_MOV_B32_sdwa970name: xdl_smfma16x16_write_vgpr_valu_sdwa_write971body: |972 bb.0:973 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_I32_16X16X4I8_vgprcd_e64 $vgpr16, $vgpr17, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec974 $vgpr1 = V_MOV_B32_sdwa 0, $vgpr16, 0, 5, 2, 4, implicit $exec, implicit $vgpr1(tied-def 0)975...976# GCN-LABEL: name: xdl_smfma32x32_write_vgpr_valu_sdwa_write977# GCN: V_MFMA978# GCN-NEXT: S_NOP 15979# GFX942-NEXT: S_NOP 2980# GFX950-NEXT: S_NOP 3981# GCN-NEXT: V_MOV_B32_sdwa982name: xdl_smfma32x32_write_vgpr_valu_sdwa_write983body: |984 bb.0:985 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31 = V_MFMA_F32_32X32X4F16_vgprcd_e64 $vgpr126_vgpr127, $vgpr128_vgpr129, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, 0, 0, 0, implicit $mode, implicit $exec986 $vgpr1 = V_MOV_B32_sdwa 0, $vgpr16, 0, 5, 2, 4, implicit $exec, implicit $vgpr1(tied-def 0)987...988# GCN-LABEL: name: dmfma4x4_write_vgpr_valu_write989# GCN: V_MFMA990# GCN-NEXT: S_NOP 5991# GCN-NEXT: V_MOV_B32992name: dmfma4x4_write_vgpr_valu_write993body: |994 bb.0:995 $vgpr4_vgpr5 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $vgpr0_vgpr1, 0, 0, 0, implicit $mode, implicit $exec996 $vgpr4 = V_MOV_B32_e32 0, implicit $mode, implicit $exec997...998# GCN-LABEL: name: dmfma16x16_write_vgpr_valu_write999# GCN: V_MFMA1000# GCN-NEXT: S_NOP 101001# GCN-NEXT: V_MOV_B321002name: dmfma16x16_write_vgpr_valu_write1003body: |1004 bb.0:1005 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7, 0, 0, 0, implicit $mode, implicit $exec1006 $vgpr3 = V_MOV_B32_e32 0, implicit $mode, implicit $exec1007...1008# GCN-LABEL: name: xdl_smfma4x4_write_vgpr_accv_write1009# GCN: V_MFMA1010# GCN-NEXT: S_NOP 41011# GCN-NEXT: V_ACCVGPR_READ_B32_e641012name: xdl_smfma4x4_write_vgpr_accv_write1013body: |1014 bb.0:1015 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_4X4X4I8_vgprcd_e64 $vgpr1, $vgpr0, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec1016 $vgpr1 = V_ACCVGPR_READ_B32_e64 $agpr0, implicit $mode, implicit $exec1017...1018# GCN-LABEL: name: xdl_smfma4x4_write_vgpr_dot_write1019# GCN: V_MFMA1020# GCN-NEXT: S_NOP 41021# GCN-NEXT: V_DOT1022name: xdl_smfma4x4_write_vgpr_dot_write1023body: |1024 bb.0:1025 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_4X4X4I8_vgprcd_e64 $vgpr1, $vgpr0, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec1026 $vgpr1 = V_DOT8_I32_I4 0, $vgpr4, 0, $vgpr4, 0, $vgpr4, 0, 0, 0, implicit $mode, implicit $exec1027...1028# GCN-LABEL: name: nonxdl_smfma4x4_read_srcc_vgpr_valu_write1029# GCN: V_MFMA1030# GCN-NEXT: V_MOV_B321031name: nonxdl_smfma4x4_read_srcc_vgpr_valu_write1032body: |1033 bb.0:1034 $vgpr4_vgpr5_vgpr6_vgpr7 = V_MFMA_F32_4X4X1F32_vgprcd_e64 $vgpr8, $vgpr9, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec1035 $vgpr1 = V_MOV_B32_e32 0, implicit $mode, implicit $exec1036...1037# GCN-LABEL: name: smfma16x16_read_srcc_vgpr_valu_write1038# GCN: V_MFMA1039# GCN-NEXT: V_MOV_B321040name: smfma16x16_read_srcc_vgpr_valu_write1041body: |1042 bb.0:1043 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17 = V_MFMA_F32_16X16X1F32_vgprcd_e64 $vgpr18, $vgpr19, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec1044 $vgpr1 = V_MOV_B32_e32 0, implicit $mode, implicit $exec1045...1046# GCN-LABEL: name: smfma32x32_read_srcc_vgpr_valu_write1047# GCN: V_MFMA1048# GCN-NEXT: V_MOV_B321049name: smfma32x32_read_srcc_vgpr_valu_write1050body: |1051 bb.0:1052 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17 = V_MFMA_F32_32X32X2F32_vgprcd_e64 $vgpr0, $vgpr0, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec1053 $vgpr1 = V_MOV_B32_e32 0, implicit $mode, implicit $exec1054...1055# GCN-LABEL: name: smfma4x4_read_srca_vgpr_valu_write1056# GCN: V_MFMA1057# GCN-NEXT: V_MOV_B321058name: smfma4x4_read_srca_vgpr_valu_write1059body: |1060 bb.0:1061 $vgpr4_vgpr5_vgpr6_vgpr7 = V_MFMA_F32_4X4X1F32_vgprcd_e64 $vgpr8, $vgpr9, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec1062 $vgpr8 = V_MOV_B32_e32 0, implicit $mode, implicit $exec1063...1064# GCN-LABEL: name: smfma16x16_read_srca_vgpr_valu_write1065# GCN: V_MFMA1066# GCN-NEXT: V_MOV_B321067name: smfma16x16_read_srca_vgpr_valu_write1068body: |1069 bb.0:1070 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17 = V_MFMA_F32_16X16X1F32_vgprcd_e64 $vgpr18, $vgpr19, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec1071 $vgpr18 = V_MOV_B32_e32 0, implicit $mode, implicit $exec1072...1073# GCN-LABEL: name: smfma32x32_read_srca_vgpr_valu_write1074# GCN: V_MFMA1075# GCN-NEXT: V_MOV_B321076name: smfma32x32_read_srca_vgpr_valu_write1077body: |1078 bb.0:1079 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17 = V_MFMA_F32_32X32X2F32_vgprcd_e64 $vgpr18, $vgpr19, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec1080 $vgpr18 = V_MOV_B32_e32 0, implicit $mode, implicit $exec1081...1082# GCN-LABEL: name: smfma4x4_read_srcb_vgpr_valu_write1083# GCN: V_MFMA1084# GCN-NEXT: V_MOV_B321085name: smfma4x4_read_srcb_vgpr_valu_write1086body: |1087 bb.0:1088 $vgpr4_vgpr5_vgpr6_vgpr7 = V_MFMA_F32_4X4X1F32_vgprcd_e64 $vgpr8, $vgpr9, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec1089 $vgpr9 = V_MOV_B32_e32 0, implicit $mode, implicit $exec1090...1091# GCN-LABEL: name: smfma16x16_read_srcb_vgpr_valu_write1092# GCN: V_MFMA1093# GCN-NEXT: V_MOV_B321094name: smfma16x16_read_srcb_vgpr_valu_write1095body: |1096 bb.0:1097 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17 = V_MFMA_F32_16X16X1F32_vgprcd_e64 $vgpr18, $vgpr19, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec1098 $vgpr19 = V_MOV_B32_e32 0, implicit $mode, implicit $exec1099...1100# GCN-LABEL: name: smfma32x32_read_srcb_vgpr_valu_write1101# GCN: V_MFMA1102# GCN-NEXT: V_MOV_B321103name: smfma32x32_read_srcb_vgpr_valu_write1104body: |1105 bb.0:1106 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17 = V_MFMA_F32_32X32X2F32_vgprcd_e64 $vgpr18, $vgpr19, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec1107 $vgpr19 = V_MOV_B32_e32 0, implicit $mode, implicit $exec1108...1109# GCN-LABEL: name: dmfma4x4_read_srcc_vgpr_valu_write1110# GCN: V_MFMA1111# GCN-NEXT: V_MOV_B321112name: dmfma4x4_read_srcc_vgpr_valu_write1113body: |1114 bb.0:1115 $vgpr4_vgpr5 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $vgpr0_vgpr1, 0, 0, 0, implicit $mode, implicit $exec1116 $vgpr1 = V_MOV_B32_e32 0, implicit $mode, implicit $exec1117...1118# GCN-LABEL: name: dmfma16x16_read_srcc_vgpr_valu_write1119# GCN: V_MFMA1120# GCN-NEXT: V_MOV_B321121name: dmfma16x16_read_srcc_vgpr_valu_write1122body: |1123 bb.0:1124 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7, 0, 0, 0, implicit $mode, implicit $exec1125 $vgpr1 = V_MOV_B32_e32 0, implicit $mode, implicit $exec1126...1127# GCN-LABEL: name: smfma16x16_read_srcc_vgpr_accv_write1128# GCN: V_MFMA1129# GCN-NEXT: V_ACCVGPR_WRITE_B32_e641130name: smfma16x16_read_srcc_vgpr_accv_write1131body: |1132 bb.0:1133 $agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17 = V_MFMA_F32_16X16X1F32_e64 $agpr18, $agpr19, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec1134 $agpr1 = V_ACCVGPR_WRITE_B32_e64 0, implicit $mode, implicit $exec1135...1136# GCN-LABEL: name: sgemm_to_fma641137# GCN: V_MFMA1138# GCN-NEXT: V_FMA_F64_e641139name: sgemm_to_fma641140body: |1141 bb.0:1142 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32_e64 $vgpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1143 $vgpr4_vgpr5 = V_FMA_F64_e64 0, $vgpr4_vgpr5, 0, $vgpr4_vgpr5, 0, $vgpr4_vgpr5, 0, 0, implicit $mode, implicit $exec1144...1145# GCN-LABEL: name: dgemm_to_fma641146# GCN: V_MFMA1147# GCN-NEXT: S_NOP 11148# GCN-NEXT: V_FMA_F64_e641149name: dgemm_to_fma641150body: |1151 bb.0:1152 $vgpr0_vgpr1 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $vgpr0_vgpr1, 0, 0, 0, implicit $mode, implicit $exec1153 $vgpr4_vgpr5 = V_FMA_F64_e64 0, $vgpr4_vgpr5, 0, $vgpr4_vgpr5, 0, $vgpr4_vgpr5, 0, 0, implicit $mode, implicit $exec1154...1155# GCN-LABEL: name: dgemm_to_fmac641156# GCN: V_MFMA1157# GCN-NEXT: S_NOP 11158# GCN-NEXT: V_FMAC_F641159name: dgemm_to_fmac641160body: |1161 bb.0:1162 $vgpr0_vgpr1 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $vgpr0_vgpr1, 0, 0, 0, implicit $mode, implicit $exec1163 $vgpr4_vgpr5 = V_FMAC_F64_e32 $vgpr4_vgpr5, $vgpr4_vgpr5, $vgpr4_vgpr5, implicit $mode, implicit $exec1164...1165# GCN-LABEL: name: flat_store_data_agpr_overwritten1166# GCN: FLAT_STORE_DWORDX41167# GCN-NEXT: S_NOP 11168# GCN-NEXT: V_ACCVGPR_WRITE_B32_e641169name: flat_store_data_agpr_overwritten1170body: |1171 bb.0:1172 FLAT_STORE_DWORDX4 $vgpr4_vgpr5, $agpr0_agpr1_agpr2_agpr3, 0, 0, implicit $mode, implicit $exec, implicit $flat_scr1173 $agpr0 = V_ACCVGPR_WRITE_B32_e64 0, implicit $mode, implicit $exec1174...1175# GCN-LABEL: name: dot_write_vgpr_accv_read1176# GCN: V_DOT1177# GCN-NEXT: S_NOP 21178# GCN-NEXT: V_ACCVGPR_WRITE_B32_e641179name: dot_write_vgpr_accv_read1180body: |1181 bb.0:1182 $vgpr4 = V_DOT4C_I32_I8_e32 $vgpr0, $vgpr1, $vgpr4, implicit $exec1183 $agpr5 = V_ACCVGPR_WRITE_B32_e64 $vgpr4, implicit $exec1184...1185# GCN-LABEL: name: valu_write_vgpr_dot_read1186# GCN: V_MOV_B321187# GCN-NEXT: V_DOT1188name: valu_write_vgpr_dot_read1189body: |1190 bb.0:1191 $vgpr0 = V_MOV_B32_e32 $vgpr1, implicit $exec1192 $vgpr4 = V_DOT4C_I32_I8_e32 $vgpr0, $vgpr1, $vgpr4, implicit $exec1193...1194# GCN-LABEL: name: accv_write_vgpr_dot_read1195# GCN: V_ACCVGPR_READ1196# GCN-NEXT: V_DOT1197name: accv_write_vgpr_dot_read1198body: |1199 bb.0:1200 $vgpr0 = V_ACCVGPR_READ_B32_e64 $agpr1, implicit $exec1201 $vgpr4 = V_DOT4C_I32_I8_e32 $vgpr0, $vgpr1, $vgpr4, implicit $exec1202...1203# GCN-LABEL: name: dot_write_vgpr_same_dot_read_srcc1204# GCN: V_DOT1205# GCN-NEXT: V_DOT1206name: dot_write_vgpr_same_dot_read_srcc1207body: |1208 bb.0:1209 $vgpr4 = V_DOT4C_I32_I8_e32 $vgpr0, $vgpr1, $vgpr4, implicit $exec1210 $vgpr4 = V_DOT4C_I32_I8_e32 $vgpr0, $vgpr1, $vgpr4, implicit $exec1211...1212# GCN-LABEL: name: dot_write_vgpr_different_dot_read_srcc1213# GCN: V_DOT1214# GCN-NEXT: S_NOP 21215# GCN-NEXT: V_DOT1216name: dot_write_vgpr_different_dot_read_srcc1217body: |1218 bb.0:1219 $vgpr4 = V_DOT4C_I32_I8_e32 $vgpr0, $vgpr1, $vgpr4, implicit $exec1220 $vgpr1 = V_DOT8_I32_I4 0, $vgpr0, 0, $vgpr0, 0, $vgpr4, 0, 0, 0, implicit $mode, implicit $exec1221...1222# GCN-LABEL: name: dot_write_vgpr_different_dot_write1223# GCN: V_DOT1224# GCN-NEXT: S_NOP 21225# GCN-NEXT: V_DOT1226name: dot_write_vgpr_different_dot_write1227body: |1228 bb.0:1229 $vgpr4 = V_DOT4C_I32_I8_e32 $vgpr0, $vgpr1, $vgpr4, implicit $exec1230 $vgpr4 = V_DOT8_I32_I4 0, $vgpr0, 0, $vgpr0, 0, $vgpr0, 0, 0, 0, implicit $mode, implicit $exec1231...1232# GCN-LABEL: name: dot_write_vgpr_different_valu_read1233# GCN: V_DOT1234# GCN-NEXT: S_NOP 21235# GCN-NEXT: V_MOV_B32_e321236name: dot_write_vgpr_different_valu_read1237body: |1238 bb.0:1239 $vgpr4 = V_DOT4C_I32_I8_e32 $vgpr0, $vgpr1, $vgpr4, implicit $exec1240 $vgpr0 = V_MOV_B32_e32 $vgpr4, implicit $exec1241...1242# GCN-LABEL: name: dot_write_vgpr_different_valu_write1243# GCN: V_DOT1244# GCN-NEXT: S_NOP 21245# GCN-NEXT: V_MOV_B32_e321246name: dot_write_vgpr_different_valu_write1247body: |1248 bb.0:1249 $vgpr4 = V_DOT4C_I32_I8_e32 $vgpr0, $vgpr1, $vgpr4, implicit $exec1250 $vgpr4 = V_MOV_B32_e32 1, implicit $exec1251...1252# GCN-LABEL: name: dot_write_vgpr_same_dot_read_srca1253# GCN: V_DOT1254# GCN-NEXT: S_NOP 21255# GCN-NEXT: V_DOT1256name: dot_write_vgpr_same_dot_read_srca1257body: |1258 bb.0:1259 $vgpr4 = V_DOT4C_I32_I8_e32 $vgpr0, $vgpr1, $vgpr4, implicit $exec1260 $vgpr0 = V_DOT4C_I32_I8_e32 $vgpr4, $vgpr1, $vgpr0, implicit $mode, implicit $exec1261...1262# GCN-LABEL: name: dot_write_vgpr_same_dot_read_srcb1263# GCN: V_DOT1264# GCN-NEXT: S_NOP 21265# GCN-NEXT: V_DOT1266name: dot_write_vgpr_same_dot_read_srcb1267body: |1268 bb.0:1269 $vgpr4 = V_DOT4C_I32_I8_e32 $vgpr0, $vgpr1, $vgpr4, implicit $exec1270 $vgpr0 = V_DOT4C_I32_I8_e32 $vgpr0, $vgpr4, $vgpr0, implicit $mode, implicit $exec1271...1272# GCN-LABEL: name: vcmpx_write_exec_mfma1273# GCN: V_CMPX_EQ_I32_e321274# GCN-NEXT: S_NOP 31275# GCN-NEXT: V_MFMA1276name: vcmpx_write_exec_mfma1277body: |1278 bb.0:1279 implicit $exec, implicit $vcc = V_CMPX_EQ_I32_e32 $vgpr0, $vgpr1, implicit $exec1280 $agpr4_agpr5_agpr6_agpr7 = V_MFMA_F32_4X4X1F32_e64 killed $agpr8, killed $vgpr1, killed $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1281...1282# GCN-LABEL: name: valu_write_agpr_dgemm_mfma_read1283# GCN: V_ACCVGPR_WRITE_B32_e641284# GCN: V_ACCVGPR_WRITE_B32_e641285# GCN-NEXT: S_NOP 11286# GCN-NEXT: V_MFMA1287name: valu_write_agpr_dgemm_mfma_read1288body: |1289 bb.0:1290 $agpr0 = V_ACCVGPR_WRITE_B32_e64 1, implicit $exec1291 $agpr1 = V_ACCVGPR_WRITE_B32_e64 1, implicit $exec1292 $agpr2_agpr3 = V_MFMA_F64_4X4X4F64_e64 $agpr0_agpr1, $agpr0_agpr1, $agpr0_agpr1, 0, 0, 0, implicit $mode, implicit $exec1293...1294# GCN-LABEL: name: dgemm16x16_mfma_write_agpr_mfma_read_same_agpr_as_srcc1295# GCN: V_MFMA1296# GCN-NEXT: V_MFMA1297name: dgemm16x16_mfma_write_agpr_mfma_read_same_agpr_as_srcc1298body: |1299 bb.0:1300 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7 = V_MFMA_F64_16X16X4F64_e64 $agpr10_agpr11, $agpr10_agpr11, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7, 0, 0, 0, implicit $mode, implicit $exec1301 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7 = V_MFMA_F64_16X16X4F64_e64 $agpr10_agpr11, $agpr10_agpr11, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7, 0, 0, 0, implicit $mode, implicit $exec1302...1303# GCN-LABEL: name: dgemm4x4_mfma_write_agpr_mfma_read_same_agpr_as_srcc1304# GCN: V_MFMA1305# GCN-NEXT: S_NOP 31306# GCN-NEXT: V_MFMA1307name: dgemm4x4_mfma_write_agpr_mfma_read_same_agpr_as_srcc1308body: |1309 bb.0:1310 $agpr2_agpr3 = V_MFMA_F64_4X4X4F64_e64 $agpr0_agpr1, $vgpr0_vgpr1, $agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1311 $agpr2_agpr3 = V_MFMA_F64_4X4X4F64_e64 $agpr0_agpr1, $vgpr0_vgpr1, $agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1312...1313# GCN-LABEL: name: dgemm16x16_mfma_write_agpr_mfma_read_overlap1314# GCN: V_MFMA1315# GFX942-NEXT: S_NOP 81316# GFX950-NEXT: S_NOP 151317# GFX950-NEXT: S_NOP 01318# GCN-NEXT: V_MFMA1319name: dgemm16x16_mfma_write_agpr_mfma_read_overlap1320body: |1321 bb.0:1322 $agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9 = V_MFMA_F64_16X16X4F64_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7, 0, 0, 0, implicit $mode, implicit $exec1323 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7 = V_MFMA_F64_16X16X4F64_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7, 0, 0, 0, implicit $mode, implicit $exec1324...1325# GCN-LABEL: name: dgemm4x4_mfma_write_agpr_mfma_read_overlap1326# GCN: V_MFMA1327# GCN-NEXT: S_NOP 31328# GCN-NEXT: V_MFMA1329name: dgemm4x4_mfma_write_agpr_mfma_read_overlap1330body: |1331 bb.0:1332 $agpr2_agpr3 = V_MFMA_F64_4X4X4F64_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $agpr0_agpr1, 0, 0, 0, implicit $mode, implicit $exec1333 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7 = V_MFMA_F64_16X16X4F64_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7, 0, 0, 0, implicit $mode, implicit $exec1334...1335# GCN-LABEL: name: dgemm16x16_mfma_write_agpr_sgemm_mfma_read_overlap1336# GCN: V_MFMA1337# GFX942-NEXT: S_NOP 81338# GFX950-NEXT: S_NOP 151339# GFX950-NEXT: S_NOP 01340 1341# GCN-NEXT: V_MFMA1342name: dgemm16x16_mfma_write_agpr_sgemm_mfma_read_overlap1343body: |1344 bb.0:1345 $agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9 = V_MFMA_F64_16X16X4F64_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7, 0, 0, 0, implicit $mode, implicit $exec1346 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32_e64 $vgpr10, $vgpr11, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1347...1348# GCN-LABEL: name: sgemm4x4_mfma_write_agpr_dgemm_mfma_read_overlap1349# GCN: V_MFMA1350# GCN-NEXT: S_NOP 21351# GCN-NEXT: V_MFMA1352name: sgemm4x4_mfma_write_agpr_dgemm_mfma_read_overlap1353body: |1354 bb.0:1355 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_I32_4X4X4I8_e64 $vgpr10, $vgpr11, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1356 $agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9 = V_MFMA_F64_16X16X4F64_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7, 0, 0, 0, implicit $mode, implicit $exec1357...1358# GCN-LABEL: name: xdl_sgemm16x16_mfma_write_sgpr_dgemm_mfma_read_overlap1359# GCN: V_MFMA1360# GFX942-NEXT: S_NOP 81361# GFX950-NEXT: S_NOP 91362# GCN-NEXT: V_MFMA1363name: xdl_sgemm16x16_mfma_write_sgpr_dgemm_mfma_read_overlap1364body: |1365 bb.0:1366 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = V_MFMA_I32_16X16X4I8_e64 $vgpr26, $vgpr27, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, 0, 0, 0, implicit $mode, implicit $exec1367 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7 = V_MFMA_F64_16X16X4F64_e64 $vgpr20_vgpr21, $vgpr20_vgpr21, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7, 0, 0, 0, implicit $mode, implicit $exec1368...1369# GCN-LABEL: name: xdl_sgemm32x32_mfma_write_agpr_dgemm_mfma_read_overlap1370# GCN: V_MFMA1371# GCN-NEXT: S_NOP 151372# GFX942-NEXT: S_NOP 01373# GFX950-NEXT: S_NOP 11374# GCN-NEXT: V_MFMA1375name: xdl_sgemm32x32_mfma_write_agpr_dgemm_mfma_read_overlap1376body: |1377 bb.0:1378 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31 = V_MFMA_F32_32X32X4F16_e64 $vgpr26_vgpr27, $vgpr28_vgpr29, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31, 0, 0, 0, implicit $mode, implicit $exec1379 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7 = V_MFMA_F64_16X16X4F64_e64 $vgpr120_vgpr121, $vgpr120_vgpr121, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7, 0, 0, 0, implicit $mode, implicit $exec1380...1381# GCN-LABEL: name: xdl_sgemm4x4_mfma_write_agpr_dmfma4x4_srca_read_overlap1382# GCN: V_MFMA1383# GCN-NEXT: S_NOP 41384# GCN-NEXT: V_MFMA1385name: xdl_sgemm4x4_mfma_write_agpr_dmfma4x4_srca_read_overlap1386body: |1387 bb.0:1388 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_I32_4X4X4I8_e64 $vgpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1389 $vgpr2_vgpr3 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $agpr0_agpr1, $vgpr4_vgpr5, $vgpr4_vgpr5, 0, 0, 0, implicit $mode, implicit $exec1390...1391# GCN-LABEL: name: xdl_sgemm4x4_mfma_write_agpr_dmfma16x16_srca_read_overlap1392# GCN: V_MFMA1393# GCN-NEXT: S_NOP 41394# GCN-NEXT: V_MFMA1395name: xdl_sgemm4x4_mfma_write_agpr_dmfma16x16_srca_read_overlap1396body: |1397 bb.0:1398 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_I32_4X4X4I8_e64 $vgpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1399 $vgpr2_vgpr3 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $agpr0_agpr1, $vgpr4_vgpr5, $vgpr4_vgpr5, 0, 0, 0, implicit $mode, implicit $exec1400...1401# GCN-LABEL: name: dgemm4x4_mfma_write_agpr_mfma_srca_read_overlap1402# GCN: V_MFMA1403# GCN-NEXT: S_NOP 51404# GCN-NEXT: V_MFMA1405name: dgemm4x4_mfma_write_agpr_mfma_srca_read_overlap1406body: |1407 bb.0:1408 $agpr2_agpr3 = V_MFMA_F64_4X4X4F64_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $agpr0_agpr1, 0, 0, 0, implicit $mode, implicit $exec1409 $vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $agpr2_agpr3, $vgpr10_vgpr11, $vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17, 0, 0, 0, implicit $mode, implicit $exec1410...1411# GCN-LABEL: name: dgemm16x16_mfma_write_agpr_mfma_srca_read_overlap1412# GCN: V_MFMA1413# GFX942-NEXT: S_NOP 101414# GFX950-NEXT: S_NOP 151415# GFX950-NEXT: S_NOP 21416# GCN-NEXT: V_MFMA1417name: dgemm16x16_mfma_write_agpr_mfma_srca_read_overlap1418body: |1419 bb.0:1420 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7 = V_MFMA_F64_16X16X4F64_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17, 0, 0, 0, implicit $mode, implicit $exec1421 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $agpr0_agpr1, $vgpr10_vgpr11, $vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17, 0, 0, 0, implicit $mode, implicit $exec1422...1423# GCN-LABEL: name: dgemm4x4_mfma_write_agpr_sgemm_mfma_srca_read_overlap1424# GCN: V_MFMA1425# GCN-NEXT: S_NOP 51426# GCN-NEXT: V_MFMA1427name: dgemm4x4_mfma_write_agpr_sgemm_mfma_srca_read_overlap1428body: |1429 bb.0:1430 $agpr4_agpr5 = V_MFMA_F64_4X4X4F64_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $agpr0_agpr1, 0, 0, 0, implicit $mode, implicit $exec1431 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X1F32_vgprcd_e64 $agpr4, $vgpr0, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec1432...1433# GCN-LABEL: name: dgemm16x16_mfma_write_agpr_sgemm_mfma_srca_read_overlap1434# GCN: V_MFMA1435# GFX942-NEXT: S_NOP 101436# GFX950-NEXT: S_NOP 151437# GFX950-NEXT: S_NOP 21438 1439# GCN-NEXT: V_MFMA1440name: dgemm16x16_mfma_write_agpr_sgemm_mfma_srca_read_overlap1441body: |1442 bb.0:1443 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7 = V_MFMA_F64_16X16X4F64_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17, 0, 0, 0, implicit $mode, implicit $exec1444 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X1F32_vgprcd_e64 $agpr4, $vgpr0, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec1445...1446# GCN-LABEL: name: xdl_sgemm4x4_mfma_write_agpr_dgemm_mfma_srca_read_overlap1447# GCN: V_MFMA1448# GCN-NEXT: S_NOP 41449# GCN-NEXT: V_MFMA1450name: xdl_sgemm4x4_mfma_write_agpr_dgemm_mfma_srca_read_overlap1451body: |1452 bb.0:1453 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_I32_4X4X4I8_e64 $vgpr4, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1454 $vgpr4_vgpr5 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $agpr0_agpr1, $vgpr4_vgpr5, $vgpr4_vgpr5, 0, 0, 0, implicit $mode, implicit $exec1455...1456# GCN-LABEL: name: dgemm4x4_mfma_write_agpr_mfma_srcb_read_overlap1457# GCN: V_MFMA1458# GCN-NEXT: S_NOP 51459# GCN-NEXT: V_MFMA1460name: dgemm4x4_mfma_write_agpr_mfma_srcb_read_overlap1461body: |1462 bb.0:1463 $agpr2_agpr3 = V_MFMA_F64_4X4X4F64_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $agpr0_agpr1, 0, 0, 0, implicit $mode, implicit $exec1464 $vgpr2_vgpr3 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $agpr2_agpr3, $vgpr0_vgpr1, 0, 0, 0, implicit $mode, implicit $exec1465...1466# GCN-LABEL: name: dgemm16x16_mfma_write_agpr_mfma_srcb_read_overlap1467# GCN: V_MFMA1468# GFX942-NEXT: S_NOP 101469# GFX950-NEXT: S_NOP 151470# GFX950-NEXT: S_NOP 21471# GCN-NEXT: V_MFMA1472name: dgemm16x16_mfma_write_agpr_mfma_srcb_read_overlap1473body: |1474 bb.0:1475 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7 = V_MFMA_F64_16X16X4F64_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17, 0, 0, 0, implicit $mode, implicit $exec1476 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $vgpr10_vgpr11, $agpr0_agpr1, $vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17, 0, 0, 0, implicit $mode, implicit $exec1477...1478# GCN-LABEL: name: dmfma4x4_write_agpr_flat_read_overlap1479# GCN: V_MFMA1480# GCN-NEXT: S_NOP 81481# GCN-NEXT: FLAT_STORE_DWORD1482name: dmfma4x4_write_agpr_flat_read_overlap1483body: |1484 bb.0:1485 $agpr4_agpr5 = V_MFMA_F64_4X4X4F64_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $agpr0_agpr1, 0, 0, 0, implicit $mode, implicit $exec1486 FLAT_STORE_DWORD $vgpr0_vgpr1, $agpr5, 0, 0, implicit $mode, implicit $exec, implicit $flat_scr1487...1488# GCN-LABEL: name: dmfma4x4_write_agpr_flat_read_full1489# GCN: V_MFMA1490# GCN-NEXT: S_NOP 81491# GCN-NEXT: FLAT_STORE_DWORD1492name: dmfma4x4_write_agpr_flat_read_full1493body: |1494 bb.0:1495 $agpr4_agpr5 = V_MFMA_F64_4X4X4F64_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $agpr0_agpr1, 0, 0, 0, implicit $mode, implicit $exec1496 FLAT_STORE_DWORDX2 $vgpr0_vgpr1, $agpr4_agpr5, 0, 0, implicit $mode, implicit $exec, implicit $flat_scr1497...1498# GCN-LABEL: name: dmfma16x16_write_agpr_flat_read1499# GCN: V_MFMA1500# GCN-NEXT: S_NOP 151501# GCN-NEXT: S_NOP 11502# GCN-NEXT: FLAT_STORE_DWORD1503name: dmfma16x16_write_agpr_flat_read1504body: |1505 bb.0:1506 $agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9 = V_MFMA_F64_16X16X4F64_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7, 0, 0, 0, implicit $mode, implicit $exec1507 FLAT_STORE_DWORD $vgpr0_vgpr1, $agpr4, 0, 0, implicit $mode, implicit $exec, implicit $flat_scr1508...1509# GCN-LABEL: name: dmfma4x4_write_agpr_valu_read1510# GCN: V_MFMA1511# GCN-NEXT: S_NOP 51512# GCN-NEXT: V_ACCVGPR_READ_B32_e641513name: dmfma4x4_write_agpr_valu_read1514body: |1515 bb.0:1516 $agpr4_agpr5 = V_MFMA_F64_4X4X4F64_e64 $agpr0_agpr1, $vgpr0_vgpr1, $agpr0_agpr1, 0, 0, 0, implicit $mode, implicit $exec1517 $vgpr5 = V_ACCVGPR_READ_B32_e64 $agpr5, implicit $exec1518...1519# GCN-LABEL: name: dmfma16x16_write_agpr_valu_read1520# GCN: V_MFMA1521# GFX942-NEXT: S_NOP 101522# GFX950-NEXT: S_NOP 151523# GFX950-NEXT: S_NOP 21524# GCN-NEXT: V_ACCVGPR_READ_B32_e641525name: dmfma16x16_write_agpr_valu_read1526body: |1527 bb.0:1528 $agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9 = V_MFMA_F64_16X16X4F64_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7, 0, 0, 0, implicit $mode, implicit $exec1529 $vgpr12 = V_ACCVGPR_READ_B32_e64 $agpr4, implicit $exec1530...1531# GCN-LABEL: name: dmfma4x4_write_agpr_valu_write1532# GCN: V_MFMA1533# GCN-NEXT: S_NOP 51534# GCN-NEXT: V_ACCVGPR_WRITE_B32_e641535name: dmfma4x4_write_agpr_valu_write1536body: |1537 bb.0:1538 $agpr4_agpr5 = V_MFMA_F64_4X4X4F64_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $agpr0_agpr1, 0, 0, 0, implicit $mode, implicit $exec1539 $agpr4 = V_ACCVGPR_WRITE_B32_e64 0, implicit $mode, implicit $exec1540...1541# GCN-LABEL: name: dmfma16x16_write_agpr_valu_write1542# GCN: V_MFMA1543# GCN-NEXT: S_NOP 101544# GCN-NEXT: V_ACCVGPR_WRITE_B32_e641545name: dmfma16x16_write_agpr_valu_write1546body: |1547 bb.0:1548 $agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9 = V_MFMA_F64_16X16X4F64_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7, 0, 0, 0, implicit $mode, implicit $exec1549 $agpr3 = V_ACCVGPR_WRITE_B32_e64 0, implicit $mode, implicit $exec1550...1551# GCN-LABEL: name: dmfma4x4_read_srcc_agpr_valu_write1552# GCN: V_MFMA1553# GCN-NEXT: V_ACCVGPR_WRITE_B32_e641554name: dmfma4x4_read_srcc_agpr_valu_write1555body: |1556 bb.0:1557 $agpr4_agpr5 = V_MFMA_F64_4X4X4F64_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $agpr0_agpr1, 0, 0, 0, implicit $mode, implicit $exec1558 $agpr1 = V_ACCVGPR_WRITE_B32_e64 0, implicit $mode, implicit $exec1559...1560# GCN-LABEL: name: dmfma16x16_read_srcc_agpr_valu_write1561# GCN: V_MFMA1562# GCN-NEXT: V_ACCVGPR_WRITE_B32_e641563name: dmfma16x16_read_srcc_agpr_valu_write1564body: |1565 bb.0:1566 $agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9 = V_MFMA_F64_16X16X4F64_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7, 0, 0, 0, implicit $mode, implicit $exec1567 $agpr1 = V_ACCVGPR_WRITE_B32_e64 0, implicit $mode, implicit $exec1568...1569# GCN-LABEL: name: dgemm_accvgr_to_fma641570# GCN: V_MFMA1571# GCN-NEXT: S_NOP 11572# GCN-NEXT: V_FMA_F64_e641573name: dgemm_accvgr_to_fma641574body: |1575 bb.0:1576 $agpr0_agpr1 = V_MFMA_F64_4X4X4F64_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $agpr0_agpr1, 0, 0, 0, implicit $mode, implicit $exec1577 $vgpr4_vgpr5 = V_FMA_F64_e64 0, $vgpr4_vgpr5, 0, $vgpr4_vgpr5, 0, $vgpr4_vgpr5, 0, 0, implicit $mode, implicit $exec1578...1579# GCN-LABEL: name: dgemm_accvgr_to_fmac641580# GCN: V_MFMA1581# GCN-NEXT: S_NOP 11582# GCN-NEXT: V_FMAC_F641583name: dgemm_accvgr_to_fmac641584body: |1585 bb.0:1586 $agpr0_agpr1 = V_MFMA_F64_4X4X4F64_e64 $agpr0_agpr1, $agpr0_agpr1, $agpr0_agpr1, 0, 0, 0, implicit $mode, implicit $exec1587 $vgpr4_vgpr5 = V_FMAC_F64_e32 $vgpr4_vgpr5, $vgpr4_vgpr5, $vgpr4_vgpr5, implicit $mode, implicit $exec1588...1589# GCN-LABEL: name: sgemm16X16X16_mfma_write_agpr_mfma_read_overlap1590# GCN: V_MFMA1591# GFX942-NEXT: S_NOP 41592# GFX950-NEXT: S_NOP 51593# GCN-NEXT: V_MFMA1594name: sgemm16X16X16_mfma_write_agpr_mfma_read_overlap1595body: |1596 bb.0:1597 $agpr2_agpr3_agpr4_agpr5 = V_MFMA_F32_16X16X16F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1598 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_16X16X16F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1599...1600# GCN-LABEL: name: sgemm16X16X32_mfma_write_agpr_mfma_read_overlap1601# GCN: V_MFMA1602# GFX942-NEXT: S_NOP 41603# GFX950-NEXT: S_NOP 51604# GCN-NEXT: V_MFMA1605name: sgemm16X16X32_mfma_write_agpr_mfma_read_overlap1606body: |1607 bb.0:1608 $agpr2_agpr3_agpr4_agpr5 = V_MFMA_I32_16X16X32I8_e64 $vgpr0_vgpr1, $vgpr2_vgpr3, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1609 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_I32_16X16X32I8_e64 $vgpr0_vgpr1, $vgpr2_vgpr3, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1610...1611# GCN-LABEL: name: sgemm16X16X16_mfma_write_agpr_dgemm_read_overlap1612# GCN: V_MFMA1613# GFX942-NEXT: S_NOP 41614# GFX950-NEXT: S_NOP 51615# GCN-NEXT: V_MFMA1616name: sgemm16X16X16_mfma_write_agpr_dgemm_read_overlap1617body: |1618 bb.0:1619 $vgpr2_vgpr3_vgpr4_vgpr5 = V_MFMA_F32_16X16X16F16_vgprcd_e64 $vgpr8_vgpr9, $vgpr8_vgpr9, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec1620 $vgpr6_vgpr7 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec1621...1622# GCN-LABEL: name: sgemm16X16X16_mfma_write_agpr_smfmac_read_overlap1623# GCN: V_MFMA1624# GFX942-NEXT: S_NOP 41625# GFX950-NEXT: S_NOP 51626# GCN-NEXT: V_SMFMAC1627name: sgemm16X16X16_mfma_write_agpr_smfmac_read_overlap1628body: |1629 bb.0:1630 $agpr2_agpr3_agpr4_agpr5 = V_MFMA_F32_16X16X16F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1631 $agpr0_agpr1_agpr2_agpr3 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr0_agpr1_agpr2_agpr3, implicit $mode, implicit $exec1632...1633# GCN-LABEL: name: smfmac16x16_write_agpr_smfmac_read_overlap1634# GCN: V_SMFMAC1635# GFX942-NEXT: S_NOP 41636# GFX950-NEXT: S_NOP 51637# GCN-NEXT: V_SMFMAC1638name: smfmac16x16_write_agpr_smfmac_read_overlap1639body: |1640 bb.0:1641 $agpr2_agpr3_agpr4_agpr5 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr2_agpr3_agpr4_agpr5, implicit $mode, implicit $exec1642 $agpr0_agpr1_agpr2_agpr3 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr0_agpr1_agpr2_agpr3, implicit $mode, implicit $exec1643...1644# GCN-LABEL: name: xdl_sgemm16X16X16_mfma_write_agpr_mfma_srca_read_overlap1645# GCN: V_MFMA1646# GFX942-NEXT: S_NOP 61647# GFX950-NEXT: S_NOP 71648# GCN-NEXT: V_MFMA1649name: xdl_sgemm16X16X16_mfma_write_agpr_mfma_srca_read_overlap1650body: |1651 bb.0:1652 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_I32_16X16X32I8_e64 $vgpr0_vgpr1, $vgpr2_vgpr3, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1653 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32_e64 $agpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1654...1655# GCN-LABEL: name: xdl_sgemm16X16X32_mfma_write_agpr_mfma_srcb_read_overlap1656# GCN: V_MFMA1657# GFX942-NEXT: S_NOP 61658# GFX950-NEXT: S_NOP 71659# GCN-NEXT: V_MFMA1660name: xdl_sgemm16X16X32_mfma_write_agpr_mfma_srcb_read_overlap1661body: |1662 bb.0:1663 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_I32_16X16X32I8_e64 $vgpr0_vgpr1, $vgpr2_vgpr3, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1664 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32_e64 $vgpr0, $agpr1, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1665...1666# GCN-LABEL: name: xdl_sgemm16X16X16_mfma_write_vgpr_dmfma16x16_srca_read_overlap1667# GCN: V_MFMA1668# GFX942-NEXT: S_NOP 61669# GFX950-NEXT: S_NOP 71670# GCN-NEXT: V_MFMA1671name: xdl_sgemm16X16X16_mfma_write_vgpr_dmfma16x16_srca_read_overlap1672body: |1673 bb.0:1674 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_16X16X32I8_vgprcd_e64 $vgpr0_vgpr1, $vgpr2_vgpr3, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec1675 $vgpr2_vgpr3 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr4_vgpr5, $vgpr4_vgpr5, 0, 0, 0, implicit $mode, implicit $exec1676...1677# GCN-LABEL: name: xdl_sgemm16X16X16_mfma_write_vgpr_valu_write1678# GCN: V_MFMA1679# GFX942-NEXT: S_NOP 61680# GFX950-NEXT: S_NOP 71681# GCN-NEXT: V_MOV_B321682name: xdl_sgemm16X16X16_mfma_write_vgpr_valu_write1683body: |1684 bb.0:1685 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_16X16X32I8_vgprcd_e64 $vgpr0_vgpr1, $vgpr2_vgpr3, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec1686 $vgpr1 = V_MOV_B32_e32 0, implicit $mode, implicit $exec1687...1688# GCN-LABEL: name: xdl_sgemm16X16X16_mfma_write_vgpr_vm_read1689# GCN: V_MFMA1690# GFX942-NEXT: S_NOP 61691# GFX950-NEXT: S_NOP 71692# GCN-NEXT: BUFFER_STORE_DWORD1693name: xdl_sgemm16X16X16_mfma_write_vgpr_vm_read1694body: |1695 bb.0:1696 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_16X16X32I8_vgprcd_e64 $vgpr0_vgpr1, $vgpr2_vgpr3, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec1697 BUFFER_STORE_DWORD_OFFSET $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $mode, implicit $exec1698...1699# GCN-LABEL: name: xdl_sgemm16X16X16_mfma_write_vgpr_valu_read1700# GCN: V_MFMA1701# GFX942-NEXT: S_NOP 61702# GFX950-NEXT: S_NOP 71703# GCN-NEXT: V_MOV_B321704name: xdl_sgemm16X16X16_mfma_write_vgpr_valu_read1705body: |1706 bb.0:1707 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_16X16X32I8_vgprcd_e64 $vgpr0_vgpr1, $vgpr2_vgpr3, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec1708 $vgpr4 = V_MOV_B32_e32 $vgpr0, implicit $mode, implicit $exec1709...1710# GCN-LABEL: name: xdl_sgemm16X16X16_mfma_write_vgpr_dot_read1711# GCN: V_MFMA1712# GFX942-NEXT: S_NOP 61713# GFX950-NEXT: S_NOP 71714# GCN-NEXT: V_DOT1715name: xdl_sgemm16X16X16_mfma_write_vgpr_dot_read1716body: |1717 bb.0:1718 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_16X16X32I8_vgprcd_e64 $vgpr0_vgpr1, $vgpr2_vgpr3, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec1719 $vgpr4 = V_DOT4C_I32_I8_e32 $vgpr0, $vgpr1, $vgpr4, implicit $exec1720...1721# GCN-LABEL: name: smfmac16x16x32_write_agpr_mfma_read_same_agpr_as_srcc1722# GCN: V_SMFMAC1723# GCN-NEXT: V_SMFMAC1724name: smfmac16x16x32_write_agpr_mfma_read_same_agpr_as_srcc1725body: |1726 bb.0:1727 $agpr0_agpr1_agpr2_agpr3 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr0_agpr1_agpr2_agpr3, implicit $mode, implicit $exec1728 $agpr0_agpr1_agpr2_agpr3 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr0_agpr1_agpr2_agpr3, implicit $mode, implicit $exec1729...1730# GCN-LABEL: name: smfmac32x32x32_write_agpr_mfma_read_same_agpr_as_srcc1731# GCN: V_SMFMAC1732# GCN-NEXT: V_SMFMAC1733name: smfmac32x32x32_write_agpr_mfma_read_same_agpr_as_srcc1734body: |1735 bb.0:1736 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = V_SMFMAC_I32_32X32X32_I8_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, implicit $mode, implicit $exec1737 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = V_SMFMAC_I32_32X32X32_I8_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, implicit $mode, implicit $exec1738...1739# GCN-LABEL: name: smfmac16x16x32_mfma_write_agpr_mfma_read_overlap1740# GCN: V_SMFMAC1741# GFX942-NEXT: S_NOP 41742# GFX950-NEXT: S_NOP 51743# GCN-NEXT: V_SMFMAC1744name: smfmac16x16x32_mfma_write_agpr_mfma_read_overlap1745body: |1746 bb.0:1747 $agpr0_agpr1_agpr2_agpr3 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr0_agpr1_agpr2_agpr3, implicit $mode, implicit $exec1748 $agpr2_agpr3_agpr4_agpr5 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr2_agpr3_agpr4_agpr5, implicit $mode, implicit $exec1749...1750# GCN-LABEL: name: smfmac32x32x32_mfma_write_agpr_mfma_read_overlap1751# GCN: V_SMFMAC1752# GFX942-NEXT: S_NOP 81753# GFX950-NEXT: S_NOP 91754# GCN-NEXT: V_SMFMAC1755name: smfmac32x32x32_mfma_write_agpr_mfma_read_overlap1756body: |1757 bb.0:1758 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = V_SMFMAC_F32_32X32X16_BF16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15, implicit $mode, implicit $exec1759 $agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17 = V_SMFMAC_F32_32X32X16_BF16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17, implicit $mode, implicit $exec1760...1761# GCN-LABEL: name: smfmac16x16x32_mfma_write_vgpr_smfmac_read_idx1762# GCN: V_SMFMAC1763# GFX942-NEXT: S_NOP 61764# GFX950-NEXT: S_NOP 71765# GCN-NEXT: V_SMFMAC1766name: smfmac16x16x32_mfma_write_vgpr_smfmac_read_idx1767body: |1768 bb.0:1769 $vgpr6_vgpr7_vgpr8_vgpr9 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $vgpr6_vgpr7_vgpr8_vgpr9, implicit $mode, implicit $exec1770 $vgpr0_vgpr1_vgpr2_vgpr3 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr6, 0, 0, $vgpr0_vgpr1_vgpr2_vgpr3, implicit $mode, implicit $exec1771...1772# GCN-LABEL: name: dgemm4x4_mfma_write_vgpr_smfmac16x16x32_read_overlap1773# GCN: V_MFMA1774# GCN-NEXT: V_SMFMAC1775name: dgemm4x4_mfma_write_vgpr_smfmac16x16x32_read_overlap1776body: |1777 bb.0:1778 $vgpr2_vgpr3 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $vgpr0_vgpr1, 0, 0, 0, implicit $mode, implicit $exec1779 $vgpr0_vgpr1_vgpr2_vgpr3 = V_SMFMAC_F32_16X16X32_BF16_e64 $vgpr10_vgpr11, $vgpr12_vgpr13_vgpr14_vgpr15, $vgpr32, 0, 0, $vgpr0_vgpr1_vgpr2_vgpr3, implicit $mode, implicit $exec1780...1781# GCN-LABEL: name: dgemm16x16_mfma_write_vgpr_mfmai8_read_overlap1782# GCN: V_MFMA1783# GCN-NEXT: V_MFMA1784name: dgemm16x16_mfma_write_vgpr_mfmai8_read_overlap1785body: |1786 bb.0:1787 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7, 0, 0, 0, implicit $mode, implicit $exec1788 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_I32_16X16X32I8_vgprcd_e64 $vgpr10_vgpr11, $vgpr12_vgpr13, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec1789...1790# GCN-LABEL: name: dgemm16x16_mfma_write_vgpr_mfmaxf32_read_overlap1791# GCN: V_MFMA1792# GCN-NEXT: V_MFMA1793name: dgemm16x16_mfma_write_vgpr_mfmaxf32_read_overlap1794body: |1795 bb.0:1796 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9 = V_MFMA_F64_16X16X4F64_vgprcd_e64 $vgpr10_vgpr11, $vgpr10_vgpr11, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7, 0, 0, 0, implicit $mode, implicit $exec1797 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_16X16X8XF32_vgprcd_e64 $vgpr10_vgpr11, $vgpr12_vgpr13, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec1798...1799# GCN-LABEL: name: nonxdl_sgemm4x4_mfma_write_agpr_nonxdl_mfma_read_overlap1800# GCN: V_MFMA1801# GCN-NEXT: S_NOP 11802# GCN-NEXT: V_MFMA1803name: nonxdl_sgemm4x4_mfma_write_agpr_nonxdl_mfma_read_overlap1804body: |1805 bb.0:1806 $agpr2_agpr3_agpr4_agpr5 = V_MFMA_F32_4X4X1F32_e64 $vgpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1807 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32_e64 $vgpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1808...1809# GCN-LABEL: name: nonxdl_sgemm4x4_mfma_write_agpr_xdl_mfma_read_overlap1810# GCN: V_MFMA1811# GCN-NEXT: V_MFMA1812name: nonxdl_sgemm4x4_mfma_write_agpr_xdl_mfma_read_overlap1813body: |1814 bb.0:1815 $agpr2_agpr3_agpr4_agpr5 = V_MFMA_F32_4X4X1F32_e64 $vgpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1816 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_I32_4X4X4I8_e64 $vgpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1817...1818# GCN-LABEL: name: xdl_sgemm4x4_mfma_write_agpr_mfma_read_overlap1819# GCN: V_MFMA1820# GCN-NEXT: S_NOP 21821# GCN-NEXT: V_MFMA1822name: xdl_sgemm4x4_mfma_write_agpr_mfma_read_overlap1823body: |1824 bb.0:1825 $agpr2_agpr3_agpr4_agpr5 = V_MFMA_I32_4X4X4I8_e64 $vgpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1826 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32_e64 $vgpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1827...1828# GCN-LABEL: name: nonxdl_sgemm4x4_mfma_write_agpr_mfma_srca_read_overlap1829# GCN: V_MFMA1830# GCN-NEXT: S_NOP 31831# GCN-NEXT: V_MFMA1832name: nonxdl_sgemm4x4_mfma_write_agpr_mfma_srca_read_overlap1833body: |1834 bb.0:1835 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32_e64 $vgpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1836 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X1F32_e64 $agpr1, $vgpr0, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1837...1838# GCN-LABEL: name: nonxdl_smfma4x4_write_vgpr_vm_read1839# GCN: V_MFMA1840# GCN-NEXT: S_NOP 31841# GCN-NEXT: BUFFER_STORE_DWORD1842name: nonxdl_smfma4x4_write_vgpr_vm_read1843body: |1844 bb.0:1845 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X1F32_vgprcd_e64 $vgpr1, $vgpr0, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec1846 BUFFER_STORE_DWORD_OFFSET $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $mode, implicit $exec1847...1848# GCN-LABEL: name: nonxdl_smfma4x4_write_vgpr_valu_read1849# GCN: V_MFMA1850# GCN-NEXT: S_NOP 31851# GCN-NEXT: V_MOV_B321852name: nonxdl_smfma4x4_write_vgpr_valu_read1853body: |1854 bb.0:1855 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X1F32_vgprcd_e64 $vgpr1, $vgpr0, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec1856 $vgpr4 = V_MOV_B32_e32 $vgpr0, implicit $mode, implicit $exec1857...1858# GCN-LABEL: name: nonxdl_smfma4x4_write_vgpr_valu_write1859# GCN: V_MFMA1860# GCN-NEXT: S_NOP 31861# GCN-NEXT: V_MOV_B321862name: nonxdl_smfma4x4_write_vgpr_valu_write1863body: |1864 bb.0:1865 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X1F32_vgprcd_e64 $vgpr4, $vgpr0, $vgpr6_vgpr7_vgpr8_vgpr9, 0, 0, 0, implicit $mode, implicit $exec1866 $vgpr1 = V_MOV_B32_e32 0, implicit $mode, implicit $exec1867...1868# GCN-LABEL: name: nonxdl_8pass_smfma16x16_write_vgpr_vm_read1869# GCN: V_MFMA1870# GCN-NEXT: S_NOP 91871# GCN-NEXT: BUFFER_STORE_DWORD1872name: nonxdl_8pass_smfma16x16_write_vgpr_vm_read1873body: |1874 bb.0:1875 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_F32_16X16X1F32_vgprcd_e64 $vgpr26, $vgpr27, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec1876 BUFFER_STORE_DWORD_OFFSET $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $mode, implicit $exec1877...1878# GCN-LABEL: name: nonxdl_8pass_smfma16x16_write_vgpr_valu_read1879# GCN: V_MFMA1880# GCN-NEXT: S_NOP 91881# GCN-NEXT: V_MOV_B321882name: nonxdl_8pass_smfma16x16_write_vgpr_valu_read1883body: |1884 bb.0:1885 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_F32_16X16X1F32_vgprcd_e64 $vgpr26, $vgpr27, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec1886 $vgpr4 = V_MOV_B32_e32 $vgpr0, implicit $mode, implicit $exec1887...1888# GCN-LABEL: name: nonxdl_8pass_smfma16x16_write_vgpr_valu_write1889# GCN: V_MFMA1890# GCN-NEXT: S_NOP 91891# GCN-NEXT: V_MOV_B321892name: nonxdl_8pass_smfma16x16_write_vgpr_valu_write1893body: |1894 bb.0:1895 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_F32_16X16X1F32_vgprcd_e64 $vgpr26, $vgpr27, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec1896 $vgpr1 = V_MOV_B32_e32 0, implicit $mode, implicit $exec1897...1898# GCN-LABEL: name: nonxdl_smfma32x32_write_vgpr_vm_read1899# GCN: V_MFMA1900# GCN-NEXT: S_NOP 151901# GCN-NEXT: S_NOP 11902# GCN-NEXT: BUFFER_STORE_DWORD1903name: nonxdl_smfma32x32_write_vgpr_vm_read1904body: |1905 bb.0:1906 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31 = V_MFMA_F32_32X32X1F32_vgprcd_e64 $agpr26, $agpr28, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, 0, 0, 0, implicit $mode, implicit $exec1907 BUFFER_STORE_DWORD_OFFSET $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $mode, implicit $exec1908...1909# GCN-LABEL: name: nonxdl_smfma32x32_write_vgpr_valu_read1910# GCN: V_MFMA1911# GCN-NEXT: S_NOP 151912# GCN-NEXT: S_NOP 11913# GCN-NEXT: V_MOV_B321914name: nonxdl_smfma32x32_write_vgpr_valu_read1915body: |1916 bb.0:1917 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31 = V_MFMA_F32_32X32X1F32_vgprcd_e64 $agpr26, $agpr28, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, 0, 0, 0, implicit $mode, implicit $exec1918 $vgpr4 = V_MOV_B32_e32 $vgpr0, implicit $mode, implicit $exec1919...1920# GCN-LABEL: name: nonxdl_smfma32x32_write_vgpr_valu_write1921# GCN: V_MFMA1922# GCN-NEXT: S_NOP 151923# GCN-NEXT: S_NOP 11924# GCN-NEXT: V_MOV_B321925name: nonxdl_smfma32x32_write_vgpr_valu_write1926body: |1927 bb.0:1928 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31 = V_MFMA_F32_32X32X1F32_vgprcd_e64 $agpr26, $agpr28, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, 0, 0, 0, implicit $mode, implicit $exec1929 $vgpr1 = V_MOV_B32_e32 0, implicit $mode, implicit $exec1930...1931# GCN-LABEL: name: xdl_sgemm16x16_4pass_mfma_write_agpr_mfma_read_overlap1932# GCN: V_MFMA1933# GFX942-NEXT: S_NOP 41934# GFX950-NEXT: S_NOP 51935# GCN-NEXT: V_MFMA1936name: xdl_sgemm16x16_4pass_mfma_write_agpr_mfma_read_overlap1937body: |1938 bb.0:1939 $agpr2_agpr3_agpr4_agpr5 = V_MFMA_I32_16X16X32I8_e64 $vgpr0_vgpr1, $vgpr2_vgpr3, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1940 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_16X16X8XF32_e64 $vgpr10_vgpr11, $vgpr12_vgpr13, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1941...1942# GCN-LABEL: name: smfmac16x16_mfma_write_agpr_mfma_read_overlap1943# GCN: V_SMFMAC1944# GFX942-NEXT: S_NOP 41945# GFX950-NEXT: S_NOP 51946# GCN-NEXT: V_MFMA1947name: smfmac16x16_mfma_write_agpr_mfma_read_overlap1948body: |1949 bb.0:1950 $agpr2_agpr3_agpr4_agpr5 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr2_agpr3_agpr4_agpr5, implicit $mode, implicit $exec1951 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_16X16X8XF32_e64 $vgpr10_vgpr11, $vgpr12_vgpr13, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec1952...1953# GCN-LABEL: name: xdl_sgemm4x4_mfma_read_vgpr_srcc_valu_write1954# GCN: V_MFMA1955# GCN-NEXT: S_NOP 01956# GCN-NEXT: V_MOV_B321957name: xdl_sgemm4x4_mfma_read_vgpr_srcc_valu_write1958body: |1959 bb.0:1960 $vgpr10_vgpr11_vgpr12_vgpr13 = V_MFMA_I32_4X4X4I8_vgprcd_e64 $vgpr4, $vgpr5, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec1961 $vgpr1 = V_MOV_B32_e32 0, implicit $exec1962...1963# GCN-LABEL: name: nonxdl_sgemm4x4_mfma_read_vgpr_srcc_valu_write1964# GCN: V_MFMA1965# GCN-NEXT: V_MOV_B321966name: nonxdl_sgemm4x4_mfma_read_vgpr_srcc_valu_write1967body: |1968 bb.0:1969 $vgpr10_vgpr11_vgpr12_vgpr13 = V_MFMA_F32_4X4X1F32_vgprcd_e64 $vgpr4, $vgpr5, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec1970 $vgpr1 = V_MOV_B32_e32 0, implicit $exec1971...1972# GCN-LABEL: name: xdl_4pass_sgemm16x16_mfma_read_vgpr_srcc_valu_write1973# GCN: V_MFMA1974# GCN-NEXT: S_NOP 21975# GCN-NEXT: V_MOV_B321976name: xdl_4pass_sgemm16x16_mfma_read_vgpr_srcc_valu_write1977body: |1978 bb.0:1979 $vgpr10_vgpr11_vgpr12_vgpr13 = V_MFMA_F32_16X16X8XF32_vgprcd_e64 $vgpr10_vgpr11, $vgpr12_vgpr13, $vgpr0_vgpr1_vgpr2_vgpr3, 0, 0, 0, implicit $mode, implicit $exec1980 $vgpr1 = V_MOV_B32_e32 0, implicit $exec1981...1982# GCN-LABEL: name: smfmac16x16_read_vgpr_srcc_valu_write1983# GCN: V_SMFMAC1984# GFX942-NEXT: S_NOP 61985# GFX950-NEXT: S_NOP 71986# GCN-NEXT: V_MOV_B321987name: smfmac16x16_read_vgpr_srcc_valu_write1988body: |1989 bb.0:1990 $vgpr0_vgpr1_vgpr2_vgpr3 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $vgpr0_vgpr1_vgpr2_vgpr3, implicit $mode, implicit $exec1991 $vgpr1 = V_MOV_B32_e32 0, implicit $exec1992...1993# GCN-LABEL: name: xdl_8pass_sgemm16x16_mfma_read_vgpr_srcc_valu_write1994# GCN: V_MFMA1995# GCN-NEXT: S_NOP 61996# GCN-NEXT: V_MOV_B321997name: xdl_8pass_sgemm16x16_mfma_read_vgpr_srcc_valu_write1998body: |1999 bb.0:2000 $vgpr100_vgpr101_vgpr102_vgpr103_vgpr104_vgpr105_vgpr106_vgpr107_vgpr108_vgpr109_vgpr110_vgpr111_vgpr112_vgpr113_vgpr114_vgpr115 = V_MFMA_I32_16X16X4I8_vgprcd_e64 $agpr26, $agpr27, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec2001 $vgpr1 = V_MOV_B32_e32 0, implicit $exec2002...2003# GCN-LABEL: name: nonxdl_8pass_sgemm16x16_mfma_read_vgpr_srcc_valu_write2004# GCN: V_MFMA2005# GCN-NEXT: V_MOV_B322006name: nonxdl_8pass_sgemm16x16_mfma_read_vgpr_srcc_valu_write2007body: |2008 bb.0:2009 $vgpr100_vgpr101_vgpr102_vgpr103_vgpr104_vgpr105_vgpr106_vgpr107_vgpr108_vgpr109_vgpr110_vgpr111_vgpr112_vgpr113_vgpr114_vgpr115 = V_MFMA_F32_16X16X1F32_vgprcd_e64 $agpr26, $agpr27, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec2010 $vgpr1 = V_MOV_B32_e32 0, implicit $exec2011...2012# GCN-LABEL: name: smfmac32x32_read_vgpr_srcc_valu_write2013# GCN: V_SMFMAC2014# GFX942-NEXT: S_NOP 102015# GFX950-NEXT: S_NOP 112016# GCN-NEXT: V_MOV_B322017name: smfmac32x32_read_vgpr_srcc_valu_write2018body: |2019 bb.0:2020 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_SMFMAC_I32_32X32X32_I8_e64 $agpr0_agpr1, $agpr2_agpr3_agpr4_agpr5, $vgpr2, 0, 0, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, implicit $mode, implicit $exec2021 $vgpr1 = V_MOV_B32_e32 0, implicit $exec2022...2023# GCN-LABEL: name: xdl_sgemm32x32_mfma_read_vgpr_srcc_valu_write2024# GCN: V_MFMA2025# GCN-NEXT: S_NOP 142026# GCN-NEXT: V_MOV_B322027name: xdl_sgemm32x32_mfma_read_vgpr_srcc_valu_write2028body: |2029 bb.0:2030 $vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr47_vgpr48_vgpr49_vgpr50_vgpr51_vgpr52_vgpr53_vgpr54_vgpr55_vgpr56_vgpr57_vgpr58_vgpr59_vgpr60_vgpr61_vgpr62_vgpr63_vgpr64_vgpr65_vgpr66_vgpr67_vgpr68_vgpr69_vgpr70_vgpr71 = V_MFMA_F32_32X32X4F16_vgprcd_e64 $agpr126_agpr127, $agpr128_agpr129, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, 0, 0, 0, implicit $mode, implicit $exec2031 $vgpr1 = V_MOV_B32_e32 0, implicit $exec2032...2033# GCN-LABEL: name: nonxdl_sgemm32x32_mfma_read_vgpr_srcc_valu_write2034# GCN: V_MFMA2035# GCN-NEXT: V_MOV_B322036name: nonxdl_sgemm32x32_mfma_read_vgpr_srcc_valu_write2037body: |2038 bb.0:2039 $vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr47_vgpr48_vgpr49_vgpr50_vgpr51_vgpr52_vgpr53_vgpr54_vgpr55_vgpr56_vgpr57_vgpr58_vgpr59_vgpr60_vgpr61_vgpr62_vgpr63_vgpr64_vgpr65_vgpr66_vgpr67_vgpr68_vgpr69_vgpr70_vgpr71 = V_MFMA_F32_32X32X1F32_vgprcd_e64 $agpr26, $agpr28, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, 0, 0, 0, implicit $mode, implicit $exec2040 $vgpr1 = V_MOV_B32_e32 0, implicit $exec2041...2042# GCN-LABEL: name: dgemm_between_valu_write_buffer_store_no_snop2043# GCN: V_MOV_B32_e322044# GCN-NEXT: V_MFMA_F642045# GCN-NOT: S_NOP2046# GCN-NEXT: BUFFER_STORE_DWORD2047name: dgemm_between_valu_write_buffer_store_no_snop2048body: |2049 bb.0:2050 $vgpr0 = V_MOV_B32_e32 0, implicit $exec2051 $agpr0_agpr1 = V_MFMA_F64_4X4X4F64_e64 $agpr0_agpr1, $agpr0_agpr1, $agpr0_agpr1, 0, 0, 0, implicit $mode, implicit $exec2052 BUFFER_STORE_DWORDX2_OFFEN_exact $vgpr2_vgpr3, $vgpr0, $sgpr0_sgpr1_sgpr2_sgpr3, 0, 0, 0, 0, implicit $exec2053...2054 2055...2056# 2 pass source2057# GCN-LABEL: name: xdl_mfma_2pass_write_vgpr_xdl_mfma_read_overlap_srcc2058# GCN: V_MFMA2059# GFX942-NEXT: S_NOP 22060# GFX950-NEXT: S_NOP 32061# GCN-NEXT: V_MFMA2062name: xdl_mfma_2pass_write_vgpr_xdl_mfma_read_overlap_srcc2063body: |2064 bb.0:2065 2066 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X4F16_vgprcd_e64 $vgpr4_vgpr5, $vgpr6_vgpr7, $vgpr0_vgpr1_vgpr2_vgpr3, 1, 2, 3, implicit $mode, implicit $exec2067 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X4F16_vgprcd_e64 $vgpr4_vgpr5, $vgpr6_vgpr7, $vgpr2_vgpr3_vgpr4_vgpr5, 1, 2, 3, implicit $mode, implicit $exec2068 2069...2070 2071...2072# 2 pass source2073# GCN-LABEL: name: xdl_mfma_2pass_write_vgpr_xdl_mfma_read_overlap_srca2074# GCN: V_MFMA2075# GCN-NEXT: S_NOP 42076# GCN-NEXT: V_MFMA2077name: xdl_mfma_2pass_write_vgpr_xdl_mfma_read_overlap_srca2078body: |2079 bb.0:2080 2081 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X4F16_vgprcd_e64 $vgpr4_vgpr5, $vgpr6_vgpr7, $vgpr0_vgpr1_vgpr2_vgpr3, 1, 2, 3, implicit $mode, implicit $exec2082 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X4F16_vgprcd_e64 $vgpr0_vgpr1, $vgpr6_vgpr7, $vgpr8_vgpr9_vgpr10_vgpr11, 1, 2, 3, implicit $mode, implicit $exec2083 2084...2085 2086...2087# 2 pass source2088# GCN-LABEL: name: xdl_mfma_2pass_write_vgpr_xdl_mfma_read_overlap_srcb2089# GCN: V_MFMA2090# GCN-NEXT: S_NOP 42091# GCN-NEXT: V_MFMA2092name: xdl_mfma_2pass_write_vgpr_xdl_mfma_read_overlap_srcb2093body: |2094 bb.0:2095 2096 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X4F16_vgprcd_e64 $vgpr4_vgpr5, $vgpr6_vgpr7, $vgpr0_vgpr1_vgpr2_vgpr3, 1, 2, 3, implicit $mode, implicit $exec2097 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X4F16_vgprcd_e64 $vgpr6_vgpr7, $vgpr2_vgpr3, $vgpr8_vgpr9_vgpr10_vgpr11, 1, 2, 3, implicit $mode, implicit $exec2098 2099...2100 2101...2102# 4 pass source2103# GCN-LABEL: name: xdl_mfma_4pass_write_vgpr_xdl_mfma_read_overlap_srcc2104# GCN: V_MFMA2105# GFX942-NEXT: S_NOP 42106# GFX950-NEXT: S_NOP 52107# GCN-NEXT: V_MFMA2108name: xdl_mfma_4pass_write_vgpr_xdl_mfma_read_overlap_srcc2109body: |2110 bb.0:2111 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_16X16X16F16_vgprcd_e64 $vgpr4_vgpr5, $vgpr6_vgpr7, $vgpr0_vgpr1_vgpr2_vgpr3, 1, 2, 3, implicit $mode, implicit $exec2112 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_16X16X16F16_vgprcd_e64 $vgpr8_vgpr9, $vgpr10_vgpr11, $vgpr2_vgpr3_vgpr4_vgpr5, 1, 2, 3, implicit $mode, implicit $exec2113 2114...2115 2116...2117# 4 pass source2118# GCN-LABEL: name: xdl_mfma_4pass_write_vgpr_xdl_mfma_read_overlap_srca2119# GCN: V_MFMA2120# GFX942-NEXT: S_NOP 62121# GFX950-NEXT: S_NOP 72122# GCN-NEXT: V_MFMA2123name: xdl_mfma_4pass_write_vgpr_xdl_mfma_read_overlap_srca2124body: |2125 bb.0:2126 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_16X16X16F16_vgprcd_e64 $vgpr4_vgpr5, $vgpr6_vgpr7, $vgpr0_vgpr1_vgpr2_vgpr3, 1, 2, 3, implicit $mode, implicit $exec2127 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_16X16X16F16_vgprcd_e64 $vgpr2_vgpr3, $vgpr10_vgpr11, $vgpr6_vgpr7_vgpr8_vgpr9, 1, 2, 3, implicit $mode, implicit $exec2128 2129...2130 2131...2132# 4 pass source2133# GCN-LABEL: name: xdl_mfma_4pass_write_vgpr_xdl_mfma_read_overlap_srcb2134# GCN: V_MFMA2135# GFX942-NEXT: S_NOP 62136# GFX950-NEXT: S_NOP 72137# GCN-NEXT: V_MFMA2138name: xdl_mfma_4pass_write_vgpr_xdl_mfma_read_overlap_srcb2139body: |2140 bb.0:2141 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_16X16X16F16_vgprcd_e64 $vgpr4_vgpr5, $vgpr6_vgpr7, $vgpr0_vgpr1_vgpr2_vgpr3, 1, 2, 3, implicit $mode, implicit $exec2142 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_16X16X16F16_vgprcd_e64 $vgpr10_vgpr11, $vgpr2_vgpr3, $vgpr6_vgpr7_vgpr8_vgpr9, 1, 2, 3, implicit $mode, implicit $exec2143 2144...2145 2146...2147# 2 pass source2148# GCN-LABEL: name: xdl_mfma_2pass_write_vgpr_sgemm_mfma_read_overlap_srcc2149# GCN: V_MFMA2150# GCN-NEXT: S_NOP 22151# GCN-NEXT: V_MFMA2152name: xdl_mfma_2pass_write_vgpr_sgemm_mfma_read_overlap_srcc2153body: |2154 bb.0:2155 2156 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X4F16_vgprcd_e64 $vgpr4_vgpr5, $vgpr6_vgpr7, $vgpr0_vgpr1_vgpr2_vgpr3, 1, 2, 3, implicit $mode, implicit $exec2157 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X1F32_vgprcd_e64 $vgpr6, $vgpr8, $vgpr2_vgpr3_vgpr4_vgpr5, 0, 0, 0, implicit $mode, implicit $exec2158 2159...2160 2161...2162# 2 pass source2163# GCN-LABEL: name: xdl_mfma_2pass_write_vgpr_sgemm_mfma_read_overlap_srca2164# GCN: V_MFMA2165# GCN-NEXT: S_NOP 42166# GCN-NEXT: V_MFMA2167name: xdl_mfma_2pass_write_vgpr_sgemm_mfma_read_overlap_srca2168body: |2169 bb.0:2170 2171 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X4F16_vgprcd_e64 $vgpr4_vgpr5, $vgpr6_vgpr7, $vgpr0_vgpr1_vgpr2_vgpr3, 1, 2, 3, implicit $mode, implicit $exec2172 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X1F32_vgprcd_e64 $vgpr1, $vgpr8, $vgpr6_vgpr7_vgpr8_vgpr9, 0, 0, 0, implicit $mode, implicit $exec2173 2174...2175 2176...2177# 2 pass source2178# GCN-LABEL: name: xdl_mfma_2pass_write_vgpr_sgemm_mfma_read_overlap_srcb2179# GCN: V_MFMA2180# GCN-NEXT: S_NOP 42181# GCN-NEXT: V_MFMA2182name: xdl_mfma_2pass_write_vgpr_sgemm_mfma_read_overlap_srcb2183body: |2184 bb.0:2185 2186 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X4F16_vgprcd_e64 $vgpr4_vgpr5, $vgpr6_vgpr7, $vgpr0_vgpr1_vgpr2_vgpr3, 1, 2, 3, implicit $mode, implicit $exec2187 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X1F32_vgprcd_e64 $vgpr8, $vgpr1, $vgpr6_vgpr7_vgpr8_vgpr9, 0, 0, 0, implicit $mode, implicit $exec2188 2189...2190 2191...2192# 4 pass source2193# GCN-LABEL: name: xdl_mfma_4pass_write_vgpr_sgemm_mfma_read_overlap_srcc2194# GCN: V_MFMA2195# GFX942-NEXT: S_NOP 42196# GFX950-NEXT: S_NOP 52197# GCN-NEXT: V_MFMA2198name: xdl_mfma_4pass_write_vgpr_sgemm_mfma_read_overlap_srcc2199body: |2200 bb.0:2201 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_16X16X16F16_vgprcd_e64 $vgpr4_vgpr5, $vgpr6_vgpr7, $vgpr0_vgpr1_vgpr2_vgpr3, 1, 2, 3, implicit $mode, implicit $exec2202 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X1F32_vgprcd_e64 $vgpr8, $vgpr9, $vgpr2_vgpr3_vgpr4_vgpr5, 0, 0, 0, implicit $mode, implicit $exec2203 2204...2205 2206...2207# 4 pass source2208# GCN-LABEL: name: xdl_mfma_4pass_write_vgpr_sgemm_mfma_read_overlap_srca2209# GCN: V_MFMA2210# GFX942-NEXT: S_NOP 62211# GFX950-NEXT: S_NOP 72212# GCN-NEXT: V_MFMA2213name: xdl_mfma_4pass_write_vgpr_sgemm_mfma_read_overlap_srca2214body: |2215 bb.0:2216 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_16X16X16F16_vgprcd_e64 $vgpr4_vgpr5, $vgpr6_vgpr7, $vgpr0_vgpr1_vgpr2_vgpr3, 1, 2, 3, implicit $mode, implicit $exec2217 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X1F32_vgprcd_e64 $vgpr1, $vgpr8, $vgpr6_vgpr7_vgpr8_vgpr9, 0, 0, 0, implicit $mode, implicit $exec2218 2219...2220 2221...2222# 4 pass source2223# GCN-LABEL: name: xdl_mfma_4pass_write_vgpr_sgemm_mfma_read_overlap_srcb2224# GCN: V_MFMA2225# GFX942-NEXT: S_NOP 62226# GFX950-NEXT: S_NOP 72227# GCN-NEXT: V_MFMA2228name: xdl_mfma_4pass_write_vgpr_sgemm_mfma_read_overlap_srcb2229body: |2230 bb.0:2231 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_16X16X16F16_vgprcd_e64 $vgpr4_vgpr5, $vgpr6_vgpr7, $vgpr0_vgpr1_vgpr2_vgpr3, 1, 2, 3, implicit $mode, implicit $exec2232 $vgpr0_vgpr1_vgpr2_vgpr3 = V_MFMA_F32_4X4X1F32_vgprcd_e64 $vgpr8, $vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, 0, 0, 0, implicit $mode, implicit $exec2233 2234...2235 2236...2237# 8 pass source2238# GCN-LABEL: name: xdl_mfma_8pass_write_vgpr_nonxdl_sgemm_mfma_read_overlap_srcc2239# GCN: V_MFMA2240# GFX942-NEXT: S_NOP 82241# GFX950-NEXT: S_NOP 92242# GCN-NEXT: V_MFMA2243name: xdl_mfma_8pass_write_vgpr_nonxdl_sgemm_mfma_read_overlap_srcc2244body: |2245 bb.0:2246 renamable $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_F32_32X32X8F16_vgprcd_e64 killed $vgpr0_vgpr1, killed $vgpr2_vgpr3, 1065353216, 0, 0, 0, implicit $mode, implicit $exec2247 2248 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17 = V_MFMA_F32_16X16X1F32_vgprcd_e64 $vgpr18, $vgpr19, $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17, 0, 0, 0, implicit $mode, implicit $exec2249...2250 2251...2252# 8 pass source2253# GCN-LABEL: name: xdl_mfma_8pass_write_vgpr_nonxdl_sgemm_mfma_read_overlap_srca2254# GCN: V_MFMA2255# GFX942-NEXT: S_NOP 102256# GFX950-NEXT: S_NOP 112257# GCN-NEXT: V_MFMA2258name: xdl_mfma_8pass_write_vgpr_nonxdl_sgemm_mfma_read_overlap_srca2259body: |2260 bb.0:2261 renamable $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_F32_32X32X8F16_vgprcd_e64 killed $vgpr0_vgpr1, killed $vgpr2_vgpr3, 1065353216, 0, 0, 0, implicit $mode, implicit $exec2262 2263 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17 = V_MFMA_F32_16X16X1F32_vgprcd_e64 $vgpr0, $vgpr33, $vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31_vgpr32_vgpr33, 0, 0, 0, implicit $mode, implicit $exec2264...2265 2266...2267# 8 pass source2268# GCN-LABEL: name: xdl_mfma_8pass_write_vgpr_nonxdl_sgemm_mfma_read_overlap_srcb2269# GCN: V_MFMA2270# GFX942-NEXT: S_NOP 102271# GFX950-NEXT: S_NOP 112272# GCN-NEXT: V_MFMA2273name: xdl_mfma_8pass_write_vgpr_nonxdl_sgemm_mfma_read_overlap_srcb2274body: |2275 bb.0:2276 renamable $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_F32_32X32X8F16_vgprcd_e64 killed $vgpr0_vgpr1, killed $vgpr2_vgpr3, 1065353216, 0, 0, 0, implicit $mode, implicit $exec2277 2278 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17 = V_MFMA_F32_16X16X1F32_vgprcd_e64 $vgpr33, $vgpr1, $vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31_vgpr32_vgpr33, 0, 0, 0, implicit $mode, implicit $exec2279...2280 2281...2282# 16 pass source2283# GCN-LABEL: name: xdl_16pass_write_vgpr_nonxdl_sgemm_mfma_read_overlap_srcc2284# GCN: V_MFMA2285# GCN-NEXT: S_NOP 152286# GFX942-NEXT: S_NOP 02287# GFX950-NEXT: S_NOP 12288# GCN-NEXT: V_MFMA2289name: xdl_16pass_write_vgpr_nonxdl_sgemm_mfma_read_overlap_srcc2290body: |2291 bb.0:2292 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31 = V_MFMA_F32_32X32X4F16_vgprcd_e64 $vgpr126_vgpr127, $vgpr128_vgpr129, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, 0, 0, 0, implicit $mode, implicit $exec2293 2294 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_F32_32X32X2F32_vgprcd_e64 killed $vgpr32, killed $vgpr33, $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, 1, 2, 3, implicit $mode, implicit $exec2295 2296...2297 2298...2299# 16 pass source2300# GCN-LABEL: name: xdl_16pass_write_vgpr_nonxdl_sgemm_mfma_read_overlap_srca2301# GCN: V_MFMA2302# GCN-NEXT: S_NOP 152303# GFX942-NEXT: S_NOP 22304# GFX950-NEXT: S_NOP 32305# GCN-NEXT: V_MFMA2306name: xdl_16pass_write_vgpr_nonxdl_sgemm_mfma_read_overlap_srca2307body: |2308 bb.0:2309 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31 = V_MFMA_F32_32X32X4F16_vgprcd_e64 $vgpr126_vgpr127, $vgpr128_vgpr129, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, 0, 0, 0, implicit $mode, implicit $exec2310 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_F32_32X32X2F32_vgprcd_e64 killed $vgpr0, killed $vgpr33, $vgpr32_vgpr33_vgpr34_vgpr35_vgpr36_vgpr37_vgpr38_vgpr39_vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr47, 1, 2, 3, implicit $mode, implicit $exec2311 2312...2313 2314...2315# 16 pass source2316# GCN-LABEL: name: xdl_16pass_write_vgpr_nonxdl_sgemm_mfma_read_overlap_srcb2317# GCN: V_MFMA2318# GCN-NEXT: S_NOP 152319# GFX942-NEXT: S_NOP 22320# GFX950-NEXT: S_NOP 32321# GCN-NEXT: V_MFMA2322name: xdl_16pass_write_vgpr_nonxdl_sgemm_mfma_read_overlap_srcb2323body: |2324 bb.0:2325 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31 = V_MFMA_F32_32X32X4F16_vgprcd_e64 $vgpr126_vgpr127, $vgpr128_vgpr129, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, 0, 0, 0, implicit $mode, implicit $exec2326 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_F32_32X32X2F32_vgprcd_e64 killed $vgpr33, killed $vgpr0, $vgpr32_vgpr33_vgpr34_vgpr35_vgpr36_vgpr37_vgpr38_vgpr39_vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr47, 1, 2, 3, implicit $mode, implicit $exec2327 2328...2329 2330...2331# 8 pass source2332# GCN-LABEL: name: nonxdl_8pass_write_vgpr_nonxdl_sgemm_mfma_read_overlap_srcc2333# GCN: V_MFMA2334# GCN-NEXT: S_NOP 72335# GCN-NEXT: V_MFMA2336name: nonxdl_8pass_write_vgpr_nonxdl_sgemm_mfma_read_overlap_srcc2337body: |2338 bb.0:2339 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17 = V_MFMA_F32_16X16X1F32_vgprcd_e64 $vgpr18, $vgpr19, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec2340 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17 = V_MFMA_F32_16X16X1F32_vgprcd_e64 $vgpr18, $vgpr19, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec2341...2342 2343...2344# 8 pass source2345# GCN-LABEL: name: nonxdl_8pass_write_vgpr_nonxdl_sgemm_mfma_read_overlap_srca2346# GCN: V_MFMA2347# GCN-NEXT: S_NOP 92348# GCN-NEXT: V_MFMA2349name: nonxdl_8pass_write_vgpr_nonxdl_sgemm_mfma_read_overlap_srca2350body: |2351 bb.0:2352 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17 = V_MFMA_F32_16X16X1F32_vgprcd_e64 $vgpr18, $vgpr19, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec2353 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17 = V_MFMA_F32_16X16X1F32_vgprcd_e64 $vgpr3, $vgpr19, $vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31_vgpr32_vgpr33, 0, 0, 0, implicit $mode, implicit $exec2354...2355 2356...2357# 8 pass source2358# GCN-LABEL: name: nonxdl_8pass_write_vgpr_nonxdl_sgemm_mfma_read_overlap_srcb2359# GCN: V_MFMA2360# GCN-NEXT: S_NOP 92361# GCN-NEXT: V_MFMA2362name: nonxdl_8pass_write_vgpr_nonxdl_sgemm_mfma_read_overlap_srcb2363body: |2364 bb.0:2365 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17 = V_MFMA_F32_16X16X1F32_vgprcd_e64 $vgpr18, $vgpr19, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15, 0, 0, 0, implicit $mode, implicit $exec2366 $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17 = V_MFMA_F32_16X16X1F32_vgprcd_e64 $vgpr19, $vgpr3, $vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31_vgpr32_vgpr33, 0, 0, 0, implicit $mode, implicit $exec2367...2368...2369# 8 pass source2370# GCN-LABEL: name: xdl_mfma_8pass_write_vgpr_xdl_mfma_read_overlap_srcc2371# GCN: V_MFMA2372# GFX942-NEXT: S_NOP 82373# GFX950-NEXT: S_NOP 92374# GCN-NEXT: V_MFMA2375name: xdl_mfma_8pass_write_vgpr_xdl_mfma_read_overlap_srcc2376body: |2377 bb.0:2378 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_F32_32X32X8F16_vgprcd_e64 killed $vgpr0_vgpr1, killed $vgpr2_vgpr3, 1065353216, 0, 0, 0, implicit $mode, implicit $exec2379 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_F32_32X32X8F16_vgprcd_e64 killed $vgpr18_vgpr19, killed $vgpr20_vgpr21, $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17, 0, 0, 0, implicit $mode, implicit $exec2380...2381 2382...2383# 8 pass source2384# GCN-LABEL: name: xdl_mfma_8pass_write_vgpr_xdl_mfma_read_overlap_srca2385# GCN: V_MFMA2386# GFX942-NEXT: S_NOP 102387# GFX950-NEXT: S_NOP 112388# GCN-NEXT: V_MFMA2389name: xdl_mfma_8pass_write_vgpr_xdl_mfma_read_overlap_srca2390body: |2391 bb.0:2392 renamable $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_F32_32X32X8F16_vgprcd_e64 killed $vgpr0_vgpr1, killed $vgpr2_vgpr3, 1065353216, 0, 0, 0, implicit $mode, implicit $exec2393 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_F32_32X32X8F16_vgprcd_e64 killed $vgpr2_vgpr3, killed $vgpr36_vgpr37, $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, 0, 0, 0, implicit $mode, implicit $exec2394...2395 2396...2397# 8 pass source2398# GCN-LABEL: name: xdl_mfma_8pass_write_vgpr_xdl_mfma_read_overlap_srcb2399# GCN: V_MFMA2400# GFX942-NEXT: S_NOP 102401# GFX950-NEXT: S_NOP 112402# GCN-NEXT: V_MFMA2403name: xdl_mfma_8pass_write_vgpr_xdl_mfma_read_overlap_srcb2404body: |2405 bb.0:2406 renamable $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_F32_32X32X8F16_vgprcd_e64 killed $vgpr0_vgpr1, killed $vgpr2_vgpr3, 1065353216, 0, 0, 0, implicit $mode, implicit $exec2407 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15 = V_MFMA_F32_32X32X8F16_vgprcd_e64 killed $vgpr36_vgpr37, killed $vgpr2_vgpr3, $vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, 0, 0, 0, implicit $mode, implicit $exec2408...2409 2410...2411# 16 pass source2412# GCN-LABEL: name: xdl_16pass_write_vgpr_xdl_mfma_read_overlap_srcc2413# GCN: V_MFMA2414# GCN-NEXT: S_NOP 152415# GFX942-NEXT: S_NOP 02416# GFX950-NEXT: S_NOP 12417# GCN-NEXT: V_MFMA2418name: xdl_16pass_write_vgpr_xdl_mfma_read_overlap_srcc2419body: |2420 bb.0:2421 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31 = V_MFMA_F32_32X32X4F16_vgprcd_e64 $vgpr126_vgpr127, $vgpr128_vgpr129, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, 0, 0, 0, implicit $mode, implicit $exec2422 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31 = V_MFMA_F32_32X32X4F16_vgprcd_e64 $vgpr126_vgpr127, $vgpr128_vgpr129, $vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31_vgpr32_vgpr33, 0, 0, 0, implicit $mode, implicit $exec2423 2424...2425 2426...2427# 16 pass source2428# GCN-LABEL: name: xdl_16pass_write_vgpr_xdl_mfma_read_overlap_srca2429# GCN: V_MFMA2430# GCN-NEXT: S_NOP 152431# GFX942-NEXT: S_NOP 22432# GFX950-NEXT: S_NOP 32433# GCN-NEXT: V_MFMA2434name: xdl_16pass_write_vgpr_xdl_mfma_read_overlap_srca2435body: |2436 bb.0:2437 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31 = V_MFMA_F32_32X32X4F16_vgprcd_e64 $vgpr126_vgpr127, $vgpr128_vgpr129, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, 0, 0, 0, implicit $mode, implicit $exec2438 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31 = V_MFMA_F32_32X32X4F16_vgprcd_e64 $vgpr2_vgpr3, $vgpr128_vgpr129, $vgpr32_vgpr33_vgpr34_vgpr35_vgpr36_vgpr37_vgpr38_vgpr39_vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr47_vgpr48_vgpr49_vgpr50_vgpr51_vgpr52_vgpr53_vgpr54_vgpr55_vgpr56_vgpr57_vgpr58_vgpr59_vgpr60_vgpr61_vgpr62_vgpr63, 0, 0, 0, implicit $mode, implicit $exec2439 2440 2441...2442 2443...2444# 16 pass source2445# GCN-LABEL: name: xdl_16pass_write_vgpr_xdl_mfma_read_overlap_srcb2446# GCN: V_MFMA2447# GCN-NEXT: S_NOP 152448# GFX942-NEXT: S_NOP 22449# GFX950-NEXT: S_NOP 32450# GCN-NEXT: V_MFMA2451name: xdl_16pass_write_vgpr_xdl_mfma_read_overlap_srcb2452body: |2453 bb.0:2454 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31 = V_MFMA_F32_32X32X4F16_vgprcd_e64 $vgpr126_vgpr127, $vgpr128_vgpr129, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31, 0, 0, 0, implicit $mode, implicit $exec2455 $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7_vgpr8_vgpr9_vgpr10_vgpr11_vgpr12_vgpr13_vgpr14_vgpr15_vgpr16_vgpr17_vgpr18_vgpr19_vgpr20_vgpr21_vgpr22_vgpr23_vgpr24_vgpr25_vgpr26_vgpr27_vgpr28_vgpr29_vgpr30_vgpr31 = V_MFMA_F32_32X32X4F16_vgprcd_e64 $vgpr128_vgpr129, $vgpr2_vgpr3, $vgpr32_vgpr33_vgpr34_vgpr35_vgpr36_vgpr37_vgpr38_vgpr39_vgpr40_vgpr41_vgpr42_vgpr43_vgpr44_vgpr45_vgpr46_vgpr47_vgpr48_vgpr49_vgpr50_vgpr51_vgpr52_vgpr53_vgpr54_vgpr55_vgpr56_vgpr57_vgpr58_vgpr59_vgpr60_vgpr61_vgpr62_vgpr63, 0, 0, 0, implicit $mode, implicit $exec2456 2457...2458 2459...2460# 2 pass source2461# GCN-LABEL: name: xdl_mfma_2pass_write_agpr_smfmac_read_overlap_srcc2462# GCN: V_MFMA2463# GFX942-NEXT: S_NOP 22464# GFX950-NEXT: S_NOP 32465# GCN-NEXT: V_SMFMAC_2466name: xdl_mfma_2pass_write_agpr_smfmac_read_overlap_srcc2467body: |2468 bb.0:2469 2470 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_F32_4X4X4F16_e64 $vgpr4_vgpr5, $vgpr6_vgpr7, $agpr0_agpr1_agpr2_agpr3, 1, 2, 3, implicit $mode, implicit $exec2471 $agpr2_agpr3_agpr4_agpr5 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr2_agpr3_agpr4_agpr5, implicit $mode, implicit $exec2472 2473...2474 2475...2476# GCN-LABEL: name: xdl_4pass_mfma_write_agpr_smfmac_read_overlap_srcc2477# GCN: V_MFMA2478# GFX942-NEXT: S_NOP 42479# GFX950-NEXT: S_NOP 52480# GCN-NEXT: V_SMFMAC_2481name: xdl_4pass_mfma_write_agpr_smfmac_read_overlap_srcc2482body: |2483 bb.0:2484 $agpr0_agpr1_agpr2_agpr3 = V_MFMA_I32_16X16X32I8_e64 $vgpr0_vgpr1, $vgpr2_vgpr3, $agpr0_agpr1_agpr2_agpr3, 0, 0, 0, implicit $mode, implicit $exec2485 $agpr2_agpr3_agpr4_agpr5 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr2_agpr3_agpr4_agpr5, implicit $mode, implicit $exec2486 2487...2488 2489...2490# GCN-LABEL: name: xdl_8pass_mfma_write_agpr_smfmac_read_overlap_srcc2491# GCN: V_MFMA2492# GFX942-NEXT: S_NOP 82493# GFX950-NEXT: S_NOP 92494# GCN-NEXT: V_SMFMAC_2495name: xdl_8pass_mfma_write_agpr_smfmac_read_overlap_srcc2496body: |2497 bb.0:2498 renamable $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15 = V_MFMA_F32_32X32X8F16_e64 killed $vgpr0_vgpr1, killed $vgpr2_vgpr3, 1065353216, 0, 0, 0, implicit $mode, implicit $exec2499 $agpr2_agpr3_agpr4_agpr5 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr2_agpr3_agpr4_agpr5, implicit $mode, implicit $exec2500...2501 2502...2503# GCN-LABEL: name: xdl_16pass_mfma_write_agpr_smfmac_read_overlap_srcc2504# GCN: V_MFMA2505# GCN-NEXT: S_NOP 152506# GFX942-NEXT: S_NOP 02507# GFX950-NEXT: S_NOP 12508# GCN-NEXT: V_SMFMAC_2509name: xdl_16pass_mfma_write_agpr_smfmac_read_overlap_srcc2510body: |2511 bb.0:2512 $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31 = V_MFMA_F32_32X32X4F16_e64 $vgpr126_vgpr127, $vgpr128_vgpr129, $agpr0_agpr1_agpr2_agpr3_agpr4_agpr5_agpr6_agpr7_agpr8_agpr9_agpr10_agpr11_agpr12_agpr13_agpr14_agpr15_agpr16_agpr17_agpr18_agpr19_agpr20_agpr21_agpr22_agpr23_agpr24_agpr25_agpr26_agpr27_agpr28_agpr29_agpr30_agpr31, 0, 0, 0, implicit $mode, implicit $exec2513 $agpr2_agpr3_agpr4_agpr5 = V_SMFMAC_F32_16X16X32_F16_e64 $vgpr0_vgpr1, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr32, 0, 0, $agpr2_agpr3_agpr4_agpr5, implicit $mode, implicit $exec2514...2515