[Bug target/78585] unaligned vmovaps memory operand generated for i686 target
ubizjak at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Nov 29 12:38:00 GMT 2016
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.
More information about the Gcc-bugs
mailing list