[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