B-24
INSTRUCTION FORMATS AND ENCODINGS
NOTES:
1.The pack instructions perform saturation from signed packed data of one type to signed or unsigned
data of the next smaller type.
2.The format of the shift instructions has one additional format to support shifting by immediate shift-
counts. The shift operations are not supported equally for all data types.
B.4.STREAMING SIMD EXTENSION FORMATS AND ENCODINGS
TABLE
The nature of the Streaming SIMD Extensions allows the use of existing instruction formats. In-
structions use the ModR/M format and are preceded by the 0F prefix byte. In general, operations
are not duplicated to provide two directions (i.e., separate load and store variants).
B.4.1.Instruction Prefixes
The Streaming SIMD Extensions use prefixes as specified in TableB-15, TableB-16, and
TableB-17. The effect of redundant prefixes (more than one prefix from a group) is undefined
and may vary from processor to processor.
Applying a prefix, in a manner not defined in this document, is considered reserved behavior.
For example, TableB-15 shows general behavior for most Streaming SIMD Extensions; how-
ever, the application of a prefix (Repeat, Repeat NE, Operand Size) is reserved for the following
instructions: ANDPS, ANDNPS, COMISS, FXRSTOR, FXSAVE, ORPS, LDMXCSR,
MOVAPS, MOVHPS, MOVLPS, MOVMSKPS, MOVNTPS, MOVUPS, SHUFPS, STMXC-
SR, UCOMISS, UNPCKHPS, UNPCKLPS, XORPS.
PUNPCKL - Unpack low data
to next larger type
YYY N
mmxreg2 to mmxreg1
0000 1111:011000gg: 11 mmxreg1 mmxreg2
memory to mmxreg
0000 1111:011000gg: mod mmxreg r/m
PXOR - Bitwise Xor
NNN Y
mmxreg2 to mmxreg1
0000 1111:11101111: 11 mmxreg1 mmxreg2
memory to mmxreg
0000 1111:11101111: mod mmxreg r/m
Table B-14. MMX Instruction Formats and Encodings (Contd.)
Instruction and Format
Encoding
BWDQ