Andreas Schwab wrote: > > This breaks gcc.target/aarch64/reload-valid-spoff.c with -mabi=ilp32:
Indeed, there is a odd ILP32 bug that causes high/lo_sum to be generated in SI mode in expand: (insn 15 14 16 4 (set (reg:SI 125) (high:SI (symbol_ref/u:DI ("*.LC1") [flags 0x2]))) (nil)) (insn 16 15 17 4 (set (reg:SI 124) (lo_sum:SI (reg:SI 125) (symbol_ref/u:DI ("*.LC1") [flags 0x2]))) Eventually this may end up as a 64-bit adrp, a 32-bit lo_sum and a load that expects a 64-bit address... I have a simple workaround to disable the symbol optimization in ILP32, but I'm looking into fixing the underlying cause. Wilco