Volume 3: General-Purpose and System Instructions - Stanford ...
Volume 3: General-Purpose and System Instructions - Stanford ... Volume 3: General-Purpose and System Instructions - Stanford ...
AMD64 Technology 24594 Rev. 3.10 February 2005General-Purpose InstructionsBasicInstructionsLong-ModeInstructionsSystem Instructionsx87 Instructionsx87 InstructionsMMXInstructionsAMD Extensionsto MMXInstructionsSSEInstructionsSSE3Instructions64-Bit MediaInstructions128-Bit MediaInstructionsAMD 3DNow!InstructionsAMD Extensionto3DNow!InstructionsTime of IntroductionSSE2InstructionsDashed-line boxes show instruction subsets.Circles show major CPUID feature sets.(Minor features sets are not shown.)Figure D-1.Instruction Subsets vs. CPUID Feature Sets454 Appendix D: Instruction Subsets and CPUID Feature Sets
24594 Rev. 3.10 February 2005 AMD64 TechnologyD.2 CPUID Feature SetsThe CPUID feature sets shown in Figure D-1 and listed inTable D-1 on page 457 include:• Basic Instructions—Instructions that are supported in allhardware implementations of the AMD64 architecture,except that the following instructions are implemented onlyif their associated CPUID function bit is set:- CLFLUSH, indicated by EDX bit 19 of CPUID standardfunction 1.- CMPXCHG8B, indicated by EDX bit 8 of CPUIDstandard function 1 and extended function 8000_0001h.- CMPXCHG16B, indicated by ECX bit 13 of CPUIDstandard function 1.- CMOVcc (conditional moves), indicated by EDX bit 15 ofCPUID standard function 1 and extended function8000_0001h.- RDMSR and WRMSR, indicated by EDX bit 5 of CPUIDstandard function 1 and extended function 8000_0001h.- RDTSC, indicated by EDX bit 4 of CPUID standardfunction 1 and extended function 8000_0001h.- RDTSCP, indicated by EDX bit 27 of CPUID extendedfunction 8000_0001h.- SYSCALL and SYSRET, indicated by EDX bit 11 ofCPUID extended function 8000_0001h.- SYSENTER and SYSEXIT, indicated by EDX bit 11 ofCPUID standard function 1.• x87 Instructions—Legacy floating-point instructions that usethe ST(0)–ST(7) stack registers (FPR0–FPR7 physicalregisters) and are supported if the following bits are set:- On-chip floating-point unit, indicated by EDX bit 0 ofCPUID standard function 1 and extended function8000_0001h.- FCMOVcc (conditional moves), indicated by EDX bit 15of CPUID standard function 1 and extended function8000_0001h. This bit indicates support for x87 floatingpointconditional moves (FCMOVcc) whenever the On-Chip Floating-Point Unit bit (bit 0) is also set.• MMX Instructions—Vector integer instructions that areimplemented in the MMX instruction set, use the MMXAppendix D: Instruction Subsets and CPUID Feature Sets 455
- Page 434 and 435: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 436 and 437: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 438 and 439: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 440 and 441: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 442 and 443: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 444 and 445: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 446 and 447: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 448 and 449: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 450 and 451: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 452 and 453: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 454 and 455: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 456 and 457: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 458 and 459: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 460 and 461: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 462 and 463: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 464 and 465: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 466 and 467: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 468 and 469: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 470 and 471: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 472 and 473: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 474 and 475: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 476 and 477: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 478 and 479: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 480 and 481: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 482 and 483: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 486 and 487: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 488 and 489: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 490 and 491: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 492 and 493: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 494 and 495: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 496 and 497: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 498 and 499: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 500 and 501: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 502 and 503: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 504 and 505: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 506 and 507: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 508 and 509: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 510 and 511: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 512 and 513: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 514 and 515: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 516 and 517: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 518 and 519: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 520 and 521: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 522 and 523: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 524 and 525: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 526 and 527: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 528 and 529: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 530 and 531: AMD64 Technology 24594 Rev. 3.10 Fe
- Page 532 and 533: AMD64 Technology 24594 Rev. 3.10 Fe
AMD64 Technology 24594 Rev. 3.10 February 2005<strong>General</strong>-<strong>Purpose</strong> <strong>Instructions</strong>Basic<strong>Instructions</strong>Long-Mode<strong>Instructions</strong><strong>System</strong> <strong>Instructions</strong>x87 <strong>Instructions</strong>x87 <strong>Instructions</strong>MMX<strong>Instructions</strong>AMD Extensionsto MMX<strong>Instructions</strong>SSE<strong>Instructions</strong>SSE3<strong>Instructions</strong>64-Bit Media<strong>Instructions</strong>128-Bit Media<strong>Instructions</strong>AMD 3DNow!<strong>Instructions</strong>AMD Extensionto3DNow!<strong>Instructions</strong>Time of IntroductionSSE2<strong>Instructions</strong>Dashed-line boxes show instruction subsets.Circles show major CPUID feature sets.(Minor features sets are not shown.)Figure D-1.Instruction Subsets vs. CPUID Feature Sets454 Appendix D: Instruction Subsets <strong>and</strong> CPUID Feature Sets