9-9
PROGRAMMING WITH THE STREAMING SIMD EXTENSIONS
9.2.STREAMING SIMD EXTENSIONS SET
The Streaming SIMD Extensions set consists of 70 instructions, grouped into the following cate-
gories:
Data movement instructions
Arithmetic instructions
Comparison instructions
Conversion instructions
Logical instructions
Additional SIMD integer instructions
Shuffle instructions
State management instructions
Cacheability control instructions
9.2.1.Instruction Operands
The IA Streaming SIMD Extensions supply a rich set of instructions that operate on either all or
the least significant pairs of packed data operands in parallel. The packed instructions operate
on a pair of operands as shown in Figure 9-5 while scalar instructions always operate on the least
significant pair of the two operands as shown in Figure 9-6; for scalar operations, the three upper
components from the first operand are passed through to the destination. In general, the address
of a memory operand has to be aligned on a 16-byte boundary for all instructions, except for
unaligned loads and stores.
Figure 9-5. Packed Operations
X1 (SP)
X2 (SP)
X3 (SP)
X4 (SP)
Y1 (SP)Y2 (SP)
Y3 (SP)
Y4 (SP)
X1 op Y1 (SP)X2 op Y2 (SP)X3 op Y3 (SP)X4 op Y4 (SP)
OP
OP
OP
OP