linpack lossage on i386-linux

Toshiyasu Morita tm@netcom.com
Mon Oct 19 15:37:00 GMT 1998


Version: egcs-19981005
   Host: i386-linux
   File: ftp://shell14.ba.best.com/pub.t/tm2/linpackc.c
Options: -O2 -S -DROLL -DSP -DUNIX

I've been looking at linpack compiled with egcs, and the output still seems
to exhibit the problems I reported previously where a register is 
unnecessarily stored and loaded inside the critical loop. 

I'm wondering if load/store hoisting should be optimizing this case?

Here's the critical second loop:

.L233:
        fld %st(0)
        movl -4(%ebp),%eax	<- unnecessary
        movl 16(%ebp),%edi
        fmuls (%edi,%eax,4)
        fadds (%esi,%eax,4)
        fstps (%esi,%eax,4)
        incl %eax
        movl %eax,-4(%ebp)	<- unnecessary
        cmpl %ebx,%eax
        jl .L233

Toshi




More information about the Gcc-bugs mailing list