[Bug c++/39002] codegen bug?
r dot emrich at de dot tecosim dot com
gcc-bugzilla@gcc.gnu.org
Wed Jan 28 14:45:00 GMT 2009
------- 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
More information about the Gcc-bugs
mailing list