[Bug target/35767] x86 backend uses aligned load on unaligned memory
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35767 Paul Pluzhnikov changed: What|Removed |Added CC||ppluzhnikov at google dot com --- Comment #5 from Paul Pluzhnikov --- gcc.target/i386/pr35767-5.c is failing for me in both -m32 and -m64 mode on trunk: xgcc (GCC) 4.9.0 20140204 (experimental) The assembly produced: test: subq$24, %rsp movaps .LC0(%rip), %xmm0 movups %xmm0, (%rsp) movaps %xmm0, %xmm7 movaps %xmm0, %xmm6 movaps %xmm0, %xmm5 movaps %xmm0, %xmm4 movaps %xmm0, %xmm3 movaps %xmm0, %xmm2 movaps %xmm0, %xmm1 callfoo movl$0, %eax addq$24, %rsp ret The movups appears to be especially bogus since it's moving to 0(%rsp) that is guaranteed to be 16-byte aligned by the ABI.
[Bug target/35767] x86 backend uses aligned load on unaligned memory
--- Comment #4 from hjl dot tools at gmail dot com 2008-05-27 20:22 --- Fixed. -- hjl dot tools at gmail dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED Target Milestone|--- |4.4.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35767
[Bug target/35767] x86 backend uses aligned load on unaligned memory
--- Comment #3 from hjl at gcc dot gnu dot org 2008-05-27 20:19 --- Subject: Bug 35767 Author: hjl Date: Tue May 27 20:18:33 2008 New Revision: 136054 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=136054 Log: gcc/ 2008-05-27 H.J. Lu <[EMAIL PROTECTED]> PR target/35767 PR target/35771 * config/i386/i386.c (ix86_function_arg_boundary): Use alignment of canonical type. (ix86_expand_vector_move): Check unaligned memory access for all SSE modes. gcc/testsuite/ 2008-05-27 H.J. Lu <[EMAIL PROTECTED]> PR target/35767 PR target/35771 * gcc.target/i386/pr35767-1.c: New. * gcc.target/i386/pr35767-1d.c: Likewise. * gcc.target/i386/pr35767-1i.c: Likewise. * gcc.target/i386/pr35767-2.c: Likewise. * gcc.target/i386/pr35767-2d.c: Likewise. * gcc.target/i386/pr35767-2i.c: Likewise. * gcc.target/i386/pr35767-3.c: Likewise. * gcc.target/i386/pr35767-4.c: Likewise. * gcc.target/i386/pr35767-5.c: Likewise. Added: trunk/gcc/testsuite/gcc.target/i386/pr35767-1.c trunk/gcc/testsuite/gcc.target/i386/pr35767-1d.c trunk/gcc/testsuite/gcc.target/i386/pr35767-1i.c trunk/gcc/testsuite/gcc.target/i386/pr35767-2.c trunk/gcc/testsuite/gcc.target/i386/pr35767-2d.c trunk/gcc/testsuite/gcc.target/i386/pr35767-2i.c trunk/gcc/testsuite/gcc.target/i386/pr35767-3.c trunk/gcc/testsuite/gcc.target/i386/pr35767-4.c trunk/gcc/testsuite/gcc.target/i386/pr35767-5.c Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35767
[Bug target/35767] x86 backend uses aligned load on unaligned memory
--- Comment #2 from hjl dot tools at gmail dot com 2008-03-31 04:48 --- Middle end use canonical type for passing parameters to function calls. ix86_function_arg_boundary should do the same. Otherwise, there will be a mismatch. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35767
[Bug target/35767] x86 backend uses aligned load on unaligned memory
--- Comment #1 from hjl dot tools at gmail dot com 2008-03-31 04:46 --- *** Bug 35771 has been marked as a duplicate of this bug. *** -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35767