Chapter 1 Introduction 5
Software Optimization Guide for AMD64 Processors
25112 Rev. 3.06 September 2005
Table 1 summarizes the differences between AMD64 instructions, macro-ops, and micro-ops.
Table 1. Instructions, Macro-ops and Micro-ops
Types of Instructions
Instructions are classified according to how they are decoded by the processor. There are three types
of instructions:
Comparing AMD64 instructions Macro-ops Micro-ops
Complexity Complex
A single instruction may
specify one or more of
each of the following
operations:
• Integer or floating-point
operation
• Load
•Store
Average
A single macro-op may
specify—at most—one
integer or floating-point
operation and one of the
following operations:
• Load
•Store
• Load and store to the
same address
Simple
A single micro-op
specifies only one of the
following primitive
operations:
• Integer or floating-point
• Load
•Store
Encoded length Variable (instructions are
different lengths)
Fixed (all macro-ops are
the same length)
Fixed (all micro-ops are
the same length)
Regularized
instruction fields
No (field locations and
definitions vary among
instructions)
Yes (field locations and
definitions are the same
for all macro-ops)
Yes (field locations and
definitions are the same
for all micro-ops)
Instruction Type Description
DirectPath Single A relatively common instruction that the processor decodes directly into one macro-op
in hardware.
DirectPath Double A relatively common instruction that the processor decodes directly into two macro-
ops in hardware.
VectorPath A sophisticated or less common instruction that the processor decodes into one or
more (usually three or more) macro-ops using the on-chip microcode-engine ROM
(MROM).