[Bug rtl-optimization/55672] [4.8 Regression] -fstack-check=generic ICEs in print_reg, at config/i386/i386.c:13868
vmakarov at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Dec 21 21:29:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55672
--- Comment #9 from Vladimir Makarov <vmakarov at gcc dot gnu.org> 2012-12-21 21:28:51 UTC ---
(In reply to comment #8)
>
> The difference is
>
> --- x.s 2012-12-18 12:24:17.072888139 -0800
> +++ no-lra.s 2012-12-18 12:30:11.419157548 -0800
> @@ -14,7 +14,7 @@ main:
> subl $8236, %esp
> orl $0, (%esp)
> addl $8204, %esp
> - cmpl $4, -40(%ebp)
> + cmpl $4, (%esp)
> je .L2
> call abort
> .L2:
>
> I think LRA generated code is wrong. The reason we don't allow
> converting software frame pointer to hardware frame pointer is
> when stack alignment is needed, hardware frame pointer is used
> to save stack pointer. We can no longer use it for software
> frame pointer.
H.J., thanks for the explanation. Now I know what to do. I'll start to work
on the solution after my vacation in 2 weeks.
More information about the Gcc-bugs
mailing list