Re: CFP (Call for Participation) Debian PPC64
On Tue, 2003-11-11 at 15:37, Peter Bergner wrote:
> Kevin B.Hendricks wrote:
> > One question, why do 32 bit apps run faster than 64 bit apps, is it all
> > of the memory accesses needed to load 64 bit immediate and other data
> > when restricted to 32 bit instruction lengths?
> Yes, on powerpc64-linux, it takes 5 instructions to load a 64-bit
> immediate and/or address.
That's in the fully general case, assuming you
don't do it with ONE instruction via a load
involving the GOT or some such.
Typically sign-extension or zero-extension will
cut that down.
> On powerpc-linux, it takes only 2.
> This makes for a better icache footprint. The powerpc64-linux
> ABI also defines a TOC which also adds a little overhead. This is
> the reason 32-bit executables are the default on ppc64 systems.
It sounds like a reason to get a new ABI. There's
no reason we have to blindly follow OS/400.
Starting a new port with a bad ABI is not the
most forward-looking thing to be doing.
> On Opteron, 32-bit executables have the same icache footprint benefit
> compared 64-bit executables. However, on Opteron, unlike ppc64, 64-bit
> executables have access to twice the number of registers that 32-bit
> executables have access too. On a register starved arch like x86,
> access to twice the number of regs is a huge win.
There's no architectural reason preventing the
use of all of the Opteron's 64-bit registers
with an ILP32 programming model.
SGI did this for MIPS.
The same goes for PowerPC. You wouldn't gain
as much, but a faster "long long" is nice.