@@ -5,9 +5,9 @@ define i16 @num_sign_bits_mul_i48_0(i8 %X, i8 %Y, i8 %Z, i8 %W) {
55; GFX9-LABEL: num_sign_bits_mul_i48_0:
66; GFX9: ; %bb.0:
77; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
8+ ; GFX9-NEXT: v_mul_i32_i24_sdwa v2, sext(v2), sext(v3) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:BYTE_0
89; GFX9-NEXT: v_mul_i32_i24_sdwa v0, sext(v0), sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:BYTE_0
9- ; GFX9-NEXT: v_mul_i32_i24_sdwa v1, sext(v2), sext(v3) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:BYTE_0
10- ; GFX9-NEXT: v_mul_i32_i24_e32 v0, v0, v1
10+ ; GFX9-NEXT: v_mul_i32_i24_e32 v0, v0, v2
1111; GFX9-NEXT: s_setpc_b64 s[30:31]
1212 %A = sext i8 %X to i48
1313 %B = sext i8 %Y to i48
@@ -24,8 +24,8 @@ define i16 @num_sign_bits_mul_i48_1(i8 %X, i8 %Y, i8 %Z, i8 %W) {
2424; GFX9-LABEL: num_sign_bits_mul_i48_1:
2525; GFX9: ; %bb.0:
2626; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
27- ; GFX9-NEXT: v_mul_i32_i24_sdwa v0, sext(v0), sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:BYTE_0
2827; GFX9-NEXT: v_mul_i32_i24_sdwa v2, sext(v2), sext(v3) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:BYTE_0
28+ ; GFX9-NEXT: v_mul_i32_i24_sdwa v0, sext(v0), sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:BYTE_0
2929; GFX9-NEXT: v_mul_hi_i32_i24_e32 v1, v0, v2
3030; GFX9-NEXT: v_mul_i32_i24_e32 v0, v0, v2
3131; GFX9-NEXT: v_lshrrev_b64 v[0:1], 24, v[0:1]
0 commit comments