[Bug middle-end/49721] convert_memory_address_addr_space may generate invalid new insns
pinskia at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri May 30 02:17:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49721
--- Comment #30 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to H.J. Lu from comment #29)
> This is related to PR 55142.
The problem I reported is worked around in the i386 backend though:
(insn:TI 19 18 22 3 (set (mem:SI (plus:DI (reg/f:DI 0 ax [94])
(const_int -1073742592 [0xffffffffbffffd00])) [2 *_9+0 S4 A32])
(reg:SI 1 dx [orig:91 d ] [91])) t1234.c:5 90 {*movsi_internal}
(expr_list:REG_DEAD (reg:SI 1 dx [orig:91 d ] [91])
(expr_list:REG_DEAD (reg/f:DI 0 ax [94])
(nil))))
Produces:
movl %edx, -1073742592(%eax)
We cannot work around this in the AARCH64 back-end since we don't have
instruction which does memory addresses in 32bit.
More information about the Gcc-bugs
mailing list