Applied to master as 91663770f795, thanks! —Philipp.
On Wed, 29 Jul 2026 at 15:33, Jakub Jelinek <[email protected]> wrote: > > On Wed, Jul 29, 2026 at 03:16:54PM +0200, Konstantinos Eleftheriou wrote: > > When store forwarding is avoided without eliminating the load (the store > > only partially covers it), the extension wrapping the load's MEM is > > re-applied after the bit-insert sequence, reusing SET_DEST (load) as the > > move destination. As the load insn is kept here, that rtx is now shared > > between two insns. That is fine for a plain REG, but in the case that the > > dest is a SUBREG, it must not be shared (verify_rtx_sharing ICEs). > > > > Unshare the destination with copy_rtx when building the move. > > > > Bootstrapped/regtested on AArch64, x86-64 and PowerPC. > > > > PR rtl-optimization/126434 > > > > gcc/ChangeLog: > > > > * avoid-store-forwarding.cc (process_store_forwarding): Unshare the > > load destination when building the re-extension move. > > > > gcc/testsuite/ChangeLog: > > > > * gcc.dg/pr126434.c: New test. > > LGTM. > > Jakub >
