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.

Reply via email to