| # RUN: llc -mtriple=amdgpu11.70 -start-before=amdgpu-insert-delay-alu %s -o - | FileCheck %s |
| # RUN: llc -mtriple=amdgpu12.00 -start-before=amdgpu-insert-delay-alu %s -o - | FileCheck %s |
| |
| --- |
| name: wmma_c_reuse_no_delay |
| tracksRegLiveness: true |
| body: | |
| bb.0: |
| ; CHECK-LABEL: {{^}}wmma_c_reuse_no_delay: |
| ; CHECK: %bb.0: |
| ; CHECK-NEXT: v_wmma_f32_16x16x16_f16 v[0:7], v[8:11], v[12:15], v[0:7] |
| ; CHECK-NEXT: v_wmma_f32_16x16x16_f16 v[0:7], v[16:19], v[20:23], v[0:7] |
| liveins: $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7, $vgpr8_vgpr9_vgpr10_vgpr11, $vgpr12_vgpr13_vgpr14_vgpr15, $vgpr16_vgpr17_vgpr18_vgpr19, $vgpr20_vgpr21_vgpr22_vgpr23 |
| $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = V_WMMA_F32_16X16X16_F16_w32_twoaddr 8, $vgpr8_vgpr9_vgpr10_vgpr11, 8, $vgpr12_vgpr13_vgpr14_vgpr15, 8, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7, 0, 0, implicit $exec |
| $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = V_WMMA_F32_16X16X16_F16_w32_twoaddr 8, $vgpr16_vgpr17_vgpr18_vgpr19, 8, $vgpr20_vgpr21_vgpr22_vgpr23, 8, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7, 0, 0, implicit $exec |
| ... |
| |
| --- |
| name: wmma_no_c_reuse_when_interrupted |
| tracksRegLiveness: true |
| body: | |
| bb.0: |
| ; CHECK-LABEL: {{^}}wmma_no_c_reuse_when_interrupted: |
| ; CHECK: %bb.0: |
| ; CHECK-NEXT: v_wmma_f32_16x16x16_f16 v[0:7], v[8:11], v[12:15], v[0:7] |
| ; CHECK-NEXT: v_add_nc_u32_e32 v24, v24, v25 |
| ; CHECK-NEXT: s_delay_alu instid0(VALU_DEP_2) |
| ; CHECK-NEXT: v_wmma_f32_16x16x16_f16 v[0:7], v[16:19], v[20:23], v[0:7] |
| liveins: $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 |
| $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = V_WMMA_F32_16X16X16_F16_w32_twoaddr 8, $vgpr8_vgpr9_vgpr10_vgpr11, 8, $vgpr12_vgpr13_vgpr14_vgpr15, 8, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7, 0, 0, implicit $exec |
| $vgpr24 = V_ADD_U32_e32 $vgpr24, $vgpr25, implicit $exec |
| $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7 = V_WMMA_F32_16X16X16_F16_w32_twoaddr 8, $vgpr16_vgpr17_vgpr18_vgpr19, 8, $vgpr20_vgpr21_vgpr22_vgpr23, 8, $vgpr0_vgpr1_vgpr2_vgpr3_vgpr4_vgpr5_vgpr6_vgpr7, 0, 0, implicit $exec |
| ... |