[Bug target/35767] x86 backend uses aligned load on unaligned memory

2014-02-04 Thread ppluzhnikov at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35767

Paul Pluzhnikov ppluzhnikov at google dot com changed:

   What|Removed |Added

 CC||ppluzhnikov at google dot com

--- Comment #5 from Paul Pluzhnikov ppluzhnikov at google dot com ---
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

2008-05-27 Thread hjl at gcc dot gnu dot org


--- 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=gccview=revrev=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

2008-05-27 Thread hjl dot tools at gmail dot com


--- 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

2008-03-30 Thread hjl dot tools at gmail dot com


--- 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



[Bug target/35767] x86 backend uses aligned load on unaligned memory

2008-03-30 Thread hjl dot tools at gmail dot com


--- 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