[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: