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. 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. 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. Peter