This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: More linpack on i386-linux analysis
- To: toon at moene dot indiv dot nluug dot nl (Toon Moene)
- Subject: Re: More linpack on i386-linux analysis
- From: Toshiyasu Morita <tm at netcom dot com>
- Date: Sun, 12 Jul 1998 11:48:52 -0700 (PDT)
- Cc: egcs-bugs at cygnus dot com
>
> > I've been looking at the inner loop of daxpy() in linpack
> > for i386-linux:
>
> > Here's the code generated by gcc-2.7.2; the loop counter
> > is nicely allocated in a register:
> [...]
> > Here's the code generated by egcs-19980707: the loop
> > counter is allocated to a stack slot:
> [...]
>
> This must be a specific failure of the ix86 backend - on
> m68k-next-nextstep3 I get for the Fortran equivalent code:
>
> L5:
> fmovex fp1,fp0
> fmuld a0@+,fp0
> faddd a1@,fp0
> fmoved fp0,a1@+
> dbra d0,L5
>
> which is optimal.
>
> Cheers,
> Toon.
>
If you reduced the number of general-purpose registers to 6, I would
suspect you would see a similar problem on the 680x0.
Toshi