[Bug middle-end/30798] mode_dependent_address_p not checked when simplifying subreg
pinskia at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Aug 27 23:07:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=30798
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |wrong-code
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
I have a similar issue with a GCC 4.7 based one with the aarch64 target
backported to it (and a few other patches installed too).
We start out with:
(insn 6074 7812 7824 701 (set (reg:DI 5635)
(ashift:DI (reg:DI 5253)
(subreg:QI (mem:HI (post_inc:DI (reg:DI 5418)) [0 MEM[base:
D.35344_2, offset: 0B]+0 S2 A16]) 0))) reload1.c:1280 526
{*aarch64_ashl_sisd_or_int_di3}
(expr_list:REG_INC (reg:DI 5418)
(nil)))
And reload comes along and changes that to:
(insn 12175 7812 6074 701 (set (reg:QI 7 x7)
(mem:QI (post_inc:DI (reg:DI 3 x3 [5418])) [0 MEM[base: D.35344_2,
offset: 0B]+0 S1 A16])) reload1.c:1280 30 {*movqi_aarch64}
(expr_list:REG_INC (reg:DI 3 x3 [5418])
(nil)))
(insn 6074 12175 7824 701 (set (reg:DI 6 x6 [5635])
(ashift:DI (reg:DI 2 x2 [5253])
(reg:QI 7 x7))) reload1.c:1280 526 {*aarch64_ashl_sisd_or_int_di3}
(nil))
More information about the Gcc-bugs
mailing list