[Bug target/52419] Wrong expansion of misaligned vector store
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Feb 29 13:32:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52419
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |NEW
--- Comment #3 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-02-29 13:28:00 UTC ---
Confirmed.
foo:
.LFB0:
.cfi_startproc
pxor %xmm1, %xmm1
movhps .LC0(%rip), %xmm1
movdqu %xmm1, (%rdi)
ret
it looks like
(insn 6 5 7 (set (reg:DI 61)
(const_int 5 [0x5])) t.c:23 -1
(nil))
(insn 7 6 8 (set (reg:DI 62)
(vec_select:DI (reg:V2DI 60)
(parallel [
(const_int 0 [0])
]))) t.c:23 -1
(nil))
(insn 8 7 9 (set (reg:V2DI 60)
(vec_concat:V2DI (reg:DI 62)
(reg:DI 61))) t.c:23 -1
(nil))
(insn 9 8 0 (set (mem:V16QI (reg/v/f:DI 59 [ p ]) [0 *p_1(D)+0 S16 A8])
(unspec:V16QI [
(subreg:V16QI (reg:V2DI 60) 0)
] UNSPEC_MOVU)) t.c:23 -1
(nil))
which of course does not work as ref:V2DI 60 is unsed uninitialized in insn 7.
More information about the Gcc-bugs
mailing list