https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82181

--- Comment #1 from jcmvbkbc at gcc dot gnu.org ---
The issue happens in the splitter movdi_internal in the call chain
xtensa_split_operand_pair -> adjust_address_1 -> change_address_1, in line
gcc_assert (memory_address_addr_space_p (mode, addr, as)); The original DI
object in memory is not fully addressable: it starts at the offset 1020 of its
base register, so its second word may not be reached by l32i/s32i.

Fix xtensa_mem_offset so that only DI object address completely addressable by
32-bit load/store instructions is considered legitimate.

Reply via email to