This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: abysmal code generated by gcc 3.2


The following GCC 3.2 flags:

-S -fno-exceptions -O3 -pipe -fstrict-aliasing -march=pentium -mcpu=pentiumpro
-fomit-frame-pointer emulate.ii -finline-limit=10000000

also produce:

         MOVEXX:
/NO_APP 
        movl    4(%ebp), %esi
        movl    8(%ebp), %eax
        movl    (%esi), %ebx
        movl    %ebx, (%eax)
L6530:  
        addl    $12, %ebp
        jmp     L6288 

Using -O2 with the default inline limit produces comparable results as well.

--- Denys Duchier <Denys.Duchier@ps.uni-sb.de> wrote: 
> As I mentioned to Brad Lucier (pc), it seems that the poor code
> generation is somehow triggered in connection with inlining.  IIRC (I
> have tried so many variations) If I supply -fno-inline-functions then
> indeed I get the code above.  This very marginally improves straight
> emulated recursion, but degrades the rest of the emulated
> instructions.  Overall, its a loss.  Any further lowering of the
> optimization level also leads to a degradation in performance.


__________________________________________________
Do you Yahoo!?
Y! Web Hosting - Let the expert host your web site
http://webhosting.yahoo.com/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]