Re: CFP (Call for Participation) Debian PPC64
On Mon, Nov 17, 2003 at 11:36:47PM +1030, Alan Modra wrote:
> On Mon, Nov 17, 2003 at 11:42:34AM +0100, Gabriel Paubert wrote:
> > What does it do about floating point constants?
>
> Puts them in the TOC, then accesses with, eg.
>
> lfd f1,some_offset(r2)
>
> > Recent versions of GCC have an annoying bug which makes many
> > (but not all) floating-point constant load take 3 instructions
> > in 32 bit mode (never tried 64 bit, no hardware):
> >
> > li rx,.LCn@h@
> > la ry,.LCn@l(rx)
> > lfd frz,0(ry)
>
> Hmm, that does seem a bit poor.
With -fpic this gives:
lwz 9,.LC3@got(30)
lfd 0,0(9)
for every single damned FP constant in the code (double
indirection just for the sake of making the code slower
and both i- and d-cache footprints bigger). With -fPIC
it is more or less the same:
lwz 31,.LC13-.LCTOC1(30)
lfd 8,0(31)
at least I'm happy to see that PPC64 looks much better
in this respect.
Anyway, I'm going to do a few more tests with more recent
GCC snapshots (building from gcc's CVS right now) before
sending a report to gcc mailing lists.
Gabriel
Reply to: