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