--- Comment #5 from ubizjak at gmail dot com 2009-06-25 17:32 ---
The problem is also present on 4.5.0. The executable won't segfault, because
-O0 generates more temporaries on stack. However:
xorps %xmm1, %xmm1
movlps 56(%esp), %xmm1
(*) movhps 64(%esp), %xmm1
--- Comment #4 from ubizjak at gmail dot com 2009-06-25 17:09 ---
4.4 fixed movaps isse by calling ix86_expand_vector_move to generate unaligned
move.
The core of the problem is however in the middle end, where we expnd from:
main ()
{
vector float D.1414;
vector float D.1413;
ve
--- Comment #3 from rguenth at gcc dot gnu dot org 2009-06-25 12:36 ---
Confirmed. With 4.4 the issue seems to be different as we use mov{l,h}ps but
access beyond the stack clobbering the return location. Oops. Doesn't
segfault with -fstack-protector.
--
rguenth at gcc dot gnu dot