This is interesting; I had assumed that some 64-bit instructions would be available in 32-bit mode.
No free opcodes available for 64-bit extensions. AMD obviously decided to simplify by not using prefixes ala the 32-bit IA32 instruction set. I assume the prefixes are not really available and certainly not a linear sequence of opcodes which AMD wanted to use for their REX prefixes. This is the best thing about AMD64… the REX prefixes provide more registers (double to be exact). Not many apps care about 64-bit addressing, though Photoshop is one of these, but all applications can use the additional registers for better code generation. With the linear opcode requirement for the REX prefixes AMD changed the meaning of the single byte INC/DEC instructions. This move invalidates interoperability of 32<->64-bit modes.
The mass market will care about "64-bit" because of the performance increase due to the extra registers. It will be publicized by the media that "64-bit" computing is inherently faster, but this is not true in this case. Since the MMX extensions you could operate with 64-bit data operands. Since SSE2 you could operate on 128-bit data operands. Code that could use these extensions, mostly the SIMD features, are using those instructions so AMD64 will add nothing there.
Do you have a reference which I could read that
explains things like this?
The AMD instruction set reference manuals. I have these. I am a compiler writer by profession. You can order the manual from AMD.com. They probably have enough information for your interests online. Somewhere at Intel.com they have "their" 64-bit extensions in a downloadable PDF format.
Norman
"Andrew Brooks" wrote in message
Norman Black wrote:
The AMD processor extensions are modal. Modal meaning that when the processor is in 32-bit mode, 64-bit anything is not available.
This is interesting; I had assumed that some 64-bit instructions would be available in 32-bit mode. That would allow a new shared C library
or
a new photoshop extension (like the MMX extension) to use 64-bit registers etc. for speeding up things like memory copies. I assumed that Windows XP and Photoshop 8 would already have these things!
Maybe
I’m too optimistic. Do you have a reference which I could read that explains things like this?
Thanks,
Andrew