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.

Reply via email to