@@ -8,10 +8,6 @@ define void @eliminate_spill_after_mfma_rewrite(i32 %x, i32 %y, <4 x i32> %arg,
88; CHECK-LABEL: eliminate_spill_after_mfma_rewrite:
99; CHECK: ; %bb.0:
1010; CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
11- ; CHECK-NEXT: v_accvgpr_write_b32 a3, v5
12- ; CHECK-NEXT: v_accvgpr_write_b32 a2, v4
13- ; CHECK-NEXT: v_accvgpr_write_b32 a1, v3
14- ; CHECK-NEXT: v_accvgpr_write_b32 a0, v2
1511; CHECK-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
1612; CHECK-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
1713; CHECK-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
@@ -60,6 +56,11 @@ define void @eliminate_spill_after_mfma_rewrite(i32 %x, i32 %y, <4 x i32> %arg,
6056; CHECK-NEXT: buffer_store_dword a61, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill
6157; CHECK-NEXT: buffer_store_dword a62, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill
6258; CHECK-NEXT: buffer_store_dword a63, off, s[0:3], s32 ; 4-byte Folded Spill
59+ ; CHECK-NEXT: v_accvgpr_write_b32 a3, v5
60+ ; CHECK-NEXT: v_accvgpr_write_b32 a2, v4
61+ ; CHECK-NEXT: v_accvgpr_write_b32 a1, v3
62+ ; CHECK-NEXT: v_accvgpr_write_b32 a0, v2
63+ ; CHECK-NEXT: s_nop 1
6364; CHECK-NEXT: v_mfma_i32_4x4x4i8 a[0:3], v0, v1, a[0:3]
6465; CHECK-NEXT: ;;#ASMSTART
6566; CHECK-NEXT: ; def v[32:63], v[0:31]
@@ -222,10 +223,6 @@ define void @eliminate_spill_after_mfma_rewrite_x2(i32 %x, i32 %y, <4 x i32> %ar
222223; CHECK-LABEL: eliminate_spill_after_mfma_rewrite_x2:
223224; CHECK: ; %bb.0:
224225; CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
225- ; CHECK-NEXT: v_accvgpr_write_b32 a3, v5
226- ; CHECK-NEXT: v_accvgpr_write_b32 a2, v4
227- ; CHECK-NEXT: v_accvgpr_write_b32 a1, v3
228- ; CHECK-NEXT: v_accvgpr_write_b32 a0, v2
229226; CHECK-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:188 ; 4-byte Folded Spill
230227; CHECK-NEXT: buffer_store_dword v41, off, s[0:3], s32 offset:184 ; 4-byte Folded Spill
231228; CHECK-NEXT: buffer_store_dword v42, off, s[0:3], s32 offset:180 ; 4-byte Folded Spill
@@ -274,6 +271,11 @@ define void @eliminate_spill_after_mfma_rewrite_x2(i32 %x, i32 %y, <4 x i32> %ar
274271; CHECK-NEXT: buffer_store_dword a61, off, s[0:3], s32 offset:8 ; 4-byte Folded Spill
275272; CHECK-NEXT: buffer_store_dword a62, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill
276273; CHECK-NEXT: buffer_store_dword a63, off, s[0:3], s32 ; 4-byte Folded Spill
274+ ; CHECK-NEXT: v_accvgpr_write_b32 a3, v5
275+ ; CHECK-NEXT: v_accvgpr_write_b32 a2, v4
276+ ; CHECK-NEXT: v_accvgpr_write_b32 a1, v3
277+ ; CHECK-NEXT: v_accvgpr_write_b32 a0, v2
278+ ; CHECK-NEXT: s_nop 1
277279; CHECK-NEXT: v_mfma_i32_4x4x4i8 a[0:3], v0, v1, a[0:3]
278280; CHECK-NEXT: ;;#ASMSTART
279281; CHECK-NEXT: ; def v[32:63], v[0:31]
0 commit comments