This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/66598] With -O3 gcc incorrectly assumes aligned SSE instructions (e.g. movapd) can be used
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 22 Jun 2015 11:04:39 +0000
- Subject: [Bug tree-optimization/66598] With -O3 gcc incorrectly assumes aligned SSE instructions (e.g. movapd) can be used
- Auto-submitted: auto-generated
- References: <bug-66598-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66598
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |wrong-code
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2015-06-22
Component|c |tree-optimization
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org
Ever confirmed|0 |1
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
I believe I fixed this on trunk for PR66510. Confirmed with GCC 5 though.
GCC 6 now generates
.L2:
movupd 16(%rax), %xmm0
addq $40, %rax
addq $32, %rdx
movupd -40(%rax), %xmm1
movaps %xmm0, -16(%rdx)
movaps %xmm1, -32(%rdx)
cmpq $P+1240, %rax
jne .L2
movupd P+1256(%rip), %xmm0
xorl %eax, %eax
movupd P+1240(%rip), %xmm1
movaps %xmm0, Q+1008(%rip)
movaps %xmm1, Q+992(%rip)
ret
might be a bit hard to backport the changes though.
Mine nevertheless.