https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78585
--- Comment #1 from Uroš Bizjak <ubizjak at gmail dot com> --- Happens in reload. We have: (insn 10 9 11 2 (set (subreg:V2DI (reg:DI 110) 0) (plus:V2DI (subreg:V2DI (reg:DI 109) 0) (subreg:V2DI (reg:DI 123) 0))) "pr78585.c":12 2956 {*addv2di3} (expr_list:REG_DEAD (reg:DI 123) (expr_list:REG_DEAD (reg:DI 109) (nil)))) After reload: (insn 62 32 13 2 (set (mem/c:V2DI (plus:SI (reg/f:SI 6 bp) (const_int -68 [0xffffffffffffffbc])) [3 %sfp+-32 S16 A128]) (reg:V2DI 21 xmm0 [142])) "pr78585.c":12 1217 {movv2di_internal} (nil)) ... (insn 10 9 11 2 (set (reg:V2DI 23 xmm2 [110]) (plus:V2DI (reg:V2DI 23 xmm2 [109]) (mem/c:V2DI (plus:SI (reg/f:SI 6 bp) (const_int -68 [0xffffffffffffffbc])) [3 %sfp+-32 S16 A128]))) "pr78585.c":12 2956 {*addv2di3} (nil)) Alignment is correct for V2DImode, but offset is not.