This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/34621] [4.3 Regression] gcc.c-torture/execute/va-arg-25.c:32: internal compiler error: in expand_call, at calls.c:2785
- From: "jakub at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 21 Jan 2008 20:53:59 -0000
- Subject: [Bug middle-end/34621] [4.3 Regression] gcc.c-torture/execute/va-arg-25.c:32: internal compiler error: in expand_call, at calls.c:2785
- References: <bug-34621-12313@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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