On 7/3/2026 4:34 AM, Andrew Stubbs wrote:
This patch fixes the register rename pass to allow for MEM that have "segment"
elements in the address.

rtl.h and rtanal.h allow MEM addresses to have the format "segment + base +
offset", where "segment" is an arbitrary UNSPEC.  Without the patch, regrename
misidentifies the base and can break 64-bit addresses, on targets with 32-bit
registers, by placing the high-part in a non-contiguous register.

gcc/ChangeLog:

        * regrename.cc (scan_rtx_address): Recurse for segment UNSPECs.
OK after a bootstrap & regression test somewhere :-)

Jeff

Reply via email to