------- Comment #8 from jakub at gcc dot gnu dot org 2008-01-21 20:53 -------
And, on these testcases that patch hasn't changed bad code generation into ICE,
but good code generation into ICE, at least as far as I can eyeball the
assembly,
e.g. on the #c5 testcase with -Os and STACK_BOUNDARY redefinition in
config/i386/darwin.h commented out I get:
.text
.globl _bar
_bar:
pushl %ebp
movl %esp, %ebp
subl $36, %esp
movaps _v, %xmm0
movaps %xmm0, 12(%esp)
movaps %xmm0, %xmm2
pushl $1
movaps %xmm0, %xmm1
call _foo
addl $32, %esp
leave
ret
.comm _v,16,4
.subsections_via_symbols
which keeps the right stack alignment and passes the args in correct locations.
So this is clearly a regression.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34621