This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/39002] codegen bug?
- From: "r dot emrich at de dot tecosim dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 28 Jan 2009 14:45:25 -0000
- Subject: [Bug c++/39002] codegen bug?
- References: <bug-39002-11564@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #6 from r dot emrich at de dot tecosim dot com 2009-01-28 14:45 -------
(In reply to comment #3)
> We need the preprocessed source of a *complete* (including main) program to be
> able to reproduce this.
>
That's a little bit difficult here. It's a really large application.
But what I see from the assembler source is the following.
The spnapshot produces:
.globl __Z18calc_tria_height_2P4NODES0_S0_RSoRiS2_RdS3_S3_
.def __Z18calc_tria_height_2P4NODES0_S0_RSoRiS2_RdS3_S3_; .scl
2; .type 32; .endef
__Z18calc_tria_height_2P4NODES0_S0_RSoRiS2_RdS3_S3_:
subq $8, %rsp
xorpd %xmm3, %xmm3
.
.
.
L15:
addq $8, %rsp
ret
here the function returns.
trunk produces:
.globl __Z18calc_tria_height_2P4NODES0_S0_RSoRiS2_RdS3_S3_
.def __Z18calc_tria_height_2P4NODES0_S0_RSoRiS2_RdS3_S3_; .scl
2; .type 32; .endef
__Z18calc_tria_height_2P4NODES0_S0_RSoRiS2_RdS3_S3_:
subq $88, %rsp
xorpd %xmm3, %xmm3
.
.
.
movsd %xmm8, (%rax)
ret
This looks like the stackpointer is no restored.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39002