================ @@ -3370,32 +3360,28 @@ define amdgpu_kernel void @idot4_nonstandard_signed(ptr addrspace(1) %src1, ; GFX11-DL-TRUE16-NEXT: global_load_b32 v4, v0, s[2:3] ; GFX11-DL-TRUE16-NEXT: s_waitcnt vmcnt(1) ; GFX11-DL-TRUE16-NEXT: v_lshrrev_b32_e32 v0, 8, v3 +; GFX11-DL-TRUE16-NEXT: v_mov_b16_e32 v5.l, v3.h +; GFX11-DL-TRUE16-NEXT: v_bfe_i32 v2, v3, 0, 8 +; GFX11-DL-TRUE16-NEXT: v_lshrrev_b32_e32 v6, 24, v3 +; GFX11-DL-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_4) | instid1(VALU_DEP_3) +; GFX11-DL-TRUE16-NEXT: v_bfe_i32 v1, v0, 0, 8 ; GFX11-DL-TRUE16-NEXT: s_waitcnt vmcnt(0) -; GFX11-DL-TRUE16-NEXT: v_lshrrev_b32_e32 v1, 8, v4 -; GFX11-DL-TRUE16-NEXT: v_bfe_i32 v5, v3, 0, 8 -; GFX11-DL-TRUE16-NEXT: v_mov_b16_e32 v6.l, v3.h -; GFX11-DL-TRUE16-NEXT: v_bfe_i32 v2, v0, 0, 8 -; GFX11-DL-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_1) | instid1(VALU_DEP_3) -; GFX11-DL-TRUE16-NEXT: v_and_b16 v0.l, 0xff, v1.l +; GFX11-DL-TRUE16-NEXT: v_lshrrev_b16 v0.l, 8, v4.l ; GFX11-DL-TRUE16-NEXT: v_and_b16 v0.h, 0xff, v4.l -; GFX11-DL-TRUE16-NEXT: v_mov_b16_e32 v1.l, v2.l -; GFX11-DL-TRUE16-NEXT: v_mov_b16_e32 v2.l, v5.l -; GFX11-DL-TRUE16-NEXT: v_bfe_i32 v5, v6, 0, 8 -; GFX11-DL-TRUE16-NEXT: v_lshrrev_b32_e32 v6, 24, v3 -; GFX11-DL-TRUE16-NEXT: s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_1) | instid1(VALU_DEP_4) +; GFX11-DL-TRUE16-NEXT: v_bfe_i32 v5, v5, 0, 8 ---------------- rovka wrote:
Would be nice if we could extract directly out of v3 here. https://github.com/llvm/llvm-project/pull/228424 _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
