https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122572
Wilco <wilco at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2025-11-05
Ever confirmed|0 |1
--- Comment #6 from Wilco <wilco at gcc dot gnu.org> ---
Confirmed. Looks like an aliasing issue in generic code, basically one cannot
reorder the ldp before the str:
add x2, x0, 2560
str x0, [x0, 2408]
ldp x2, x3, [x2, -160] ** gets reordered before str by sched2
The incorrect reordering happens in -fschedule-insns2. Note the LDP is not
created by the LDP pass but is generated as a TImode load. The store overlaps
with the 2nd part of the TImode load - the bad reordering doesn't happen if
opt_table is the first field of the struct.