[Bug c++/8781] Pessimization of C++ (functional) code

rguenth at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Tue Oct 24 12:16:00 GMT 2006



------- Comment #22 from rguenth at gcc dot gnu dot org  2006-10-24 12:16 -------
Still bogus at the tree level as in comment #11, but fixed by RTL optimizers:

_Z1xv:
.LFB5:
        pushl   %ebp
.LCFI0:
        movl    %esp, %ebp
.LCFI1:
        subl    $24, %esp
.LCFI2:
        movl    $_Z1fv, -4(%ebp)
        leal    -8(%ebp), %eax
        movl    %eax, -8(%ebp)
        call    _Z1fv
        leave
        ret

the above is from mainline, with 4.1.1 I get

.LCFI2:
        movl    $_Z1fv, -4(%ebp)
        leal    -8(%ebp), %eax
        movl    %eax, -8(%ebp)
        call    *%eax

so there's an indirect call left.

3.4.6 is the last I can reproduce the completely bogus asm.  So, fixed in 4.2?


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |3.4.6


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=8781



More information about the Gcc-bugs mailing list