Two chip manufacturers—Intel and AMD—control the 64-bit PC microprocessor market. Their 64-bit processors use one of two competing 64-bit architectures: IA-64 or X64. AMD64 and Intel’s EM64T platforms use X64 architecture. Intel’s Itanium chip introduces RISC-based IA-64 architecture.
X64 extends the standard IA-32 X86 architecture that is common in 32-bit Windows machines. This architecture maintains the basic register and instruction sets of IA-32. As a result, X64 processors execute the 32-bit instruction set natively, which helps performance. To adapt IA-32 for 64-bit computation, X64 adds new registers and instructions, and also changes some instruction names.
IA-64 is a native 64-bit platform and therefore must use emulation to process IA-32 instructions. This inability to run 32-bit code natively hampers the performance of legacy 32-bit Windows applications on IA-64 machines.
AutoCAD 64-bit supports only platforms that use the X64 architecture.
The following code demonstrates some differences between 32-bit and 64-bit instructions. This example shows a simple C++ function, followed by the assembly code generated for it by IA-32 and X64 compilers:
// Simple C++ function that adds and multiplies. INT_PTR addAndMul(INT_PTR a, INT_PTR b, INT_PTR c) {return (a + b) * c;} ; 32-bit compiler assembly listing ?addAndMul@@YAHHHH@Z PROC ; addAndMulpush ebp mov ebp, esp mov eax, DWORD PTR _a$[ebp] add eax, DWORD PTR _b$[ebp] imul eax, DWORD PTR _c$[ebp] pop ebp ret 0?addAndMul@@YAHHHH@Z ENDP ; addAndMul ; 64-bit (X64) compiler assembly output ?addAndMul@@YA_J_J00@Z PROC ; addAndMulmov QWORD PTR [rsp+24], r8 mov QWORD PTR [rsp+16], rdx mov QWORD PTR [rsp+8], rcx mov rax, QWORD PTR b$[rsp] mov rcx, QWORD PTR a$[rsp] add rcx, rax mov rax, rcx imul rax, QWORD PTR c$[rsp] ret 0 ?addAndMul@@YA_J_J00@Z ENDP ; addAndMul