Harry,
In normal business computing, widening integer registers to 64 bit will not amount to much, since hardly any integer variable need to be 64 bit (floating point variables have been 64 bit for some time already). But there are specialized cases, where 64 bit integer register is not really used for integer, but as a holder of data, and twice the data is better. For example, I don' know the best efficient method to do a string compare, but my guess is, you bring the data to the registers and do the comparison. With 64 bit, it could be done 4 byte chunks at the time, or in the bloated Unicode world, 2 2 byte characters at the time. (I haven't done any assembly programming since college, so if there is a different way to do this, I apologize. Doesn't x86 have some string compare instructions? My guess is that they still get converted by microcode to do what I just outlined).
A tiny bit of a performance benefit will come from these special cases, but mainly from doubling the number integer registers (in addition to doubling their size), which helps IPC a lot. Doubling the number of registers cuts down on number of trips to L1, L2 or memory.
Joe |