[llvm] [AMDGPU] Fold copies of constant physical registers into their uses (PR #154410)
Jay Foad via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 17 00:09:22 PDT 2025
================
@@ -412,11 +411,11 @@ define amdgpu_ps <2 x float> @flat_atomicrmw_b64_rtn_idxprom(ptr align 8 inreg %
; GISEL-NEXT: s_and_not1_saveexec_b32 s0, s2
; GISEL-NEXT: s_cbranch_execz .LBB21_2
; GISEL-NEXT: .LBB21_4: ; %atomicrmw.private
-; GISEL-NEXT: s_mov_b32 s1, src_flat_scratch_base_lo
-; GISEL-NEXT: v_cmp_ne_u64_e32 vcc_lo, 0, v[4:5]
; GISEL-NEXT: s_wait_loadcnt_dscnt 0x0
-; GISEL-NEXT: v_subrev_nc_u32_e32 v0, s1, v4
-; GISEL-NEXT: s_delay_alu instid0(VALU_DEP_1)
+; GISEL-NEXT: v_mov_b32_e32 v0, src_flat_scratch_base_lo
+; GISEL-NEXT: v_cmp_ne_u64_e32 vcc_lo, 0, v[4:5]
+; GISEL-NEXT: s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
+; GISEL-NEXT: v_sub_nc_u32_e32 v0, v4, v0
----------------
jayfoad wrote:
Any idea why v0 didn't get folded into this sub?
https://github.com/llvm/llvm-project/pull/154410
More information about the llvm-commits
mailing list