------- Comment #1 from zuxy dot meng at gmail dot com  2006-06-17 06:25 -------
Created an attachment (id=11685)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11685&action=view)
The file that gcc fails to compile correctly.

Use gcc -S -msse and look at the assembly. GCC allocates __m128 locals directly
on the stack without adjusting ESP, which might not be 16-byte aligned. But GCC
uses movaps, which requires its operand to be 16-byte aligned, to access those
locals.

ICC solves this problem by adding
        pushl     %ebp
        movl      %esp, %ebp
        andl      $-16, %esp
to the function prolog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28069

Reply via email to