Ciaran, >such as a heap of extra general purpose registers, which makes up for >the 64 bit code penalty
Only if the compiler's register allocator makes use of them, which gcc does. >In an ideal world, your amd64 box would run a pure 64 bit kernel and a >64 bit int / 32 bit pointer userland, and still have access to the >extra registers. Unfortunately, amd64 can't do this (unlike, say, >MIPS). I've been spending a lot of time in asm on my AMD64 and I _know_ that the AMD64 ABI specifies 32 bit integers regardless of the operating mode. >what I just said was wrong and that "64 bit is just plain faster". To reiterate, Ciaran is right and the marketing droids are wrong. >but because of limitations in amd64 you're still better going >for 64 bit userland and kernel. There are instructions that will flip the AMD64 back and forth between 32/64 bit modes. You can't push anything except a 64bit value onto the stack while in 64bit mode and in 32bit mode you can push 8/16/32 bit values and various other similar issues. Now the OS can set up for 32bit mode prior to executing a program but as you and many others have pointed out in this list the real problem is that portage does not yet keep (and distinguish between) copies of both 32 & 64 bit libraries in the same tree. That is why OpenOffice.Org, Flash, etc. are precompiled and linked binaries and they still run with a 64 bit kernel. I got an AMD64 because I wanted to explore these issues. If they scare off the original poster then he should at least compare a regular Athalon to a Pentium and then go with whatever 32bit version he decides. Cheers, -- Tres -- gentoo-user@gentoo.org mailing list