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))