<<<    Index    >>>
8-10
PROGRAMMING WITH THE INTEL MMX™ TECHNOLOGY
implement a packed conditional move operation without a branch or a set of branch instructions.
No flags are set. 
These instructions support packed byte, packed word and packed doubleword data types.
8.3.4.Conversion Instructions
The conversion instructions convert the data elements within a packed data type.
The PACKSSWB and PACKSSDW (packed with signed saturation) instruction converts signed
words into signed bytes or signed doublewords into signed words, in signed saturation mode.
The PACKUSWB (packed with unsigned saturation) instruction converts signed words into
unsigned bytes, in unsigned saturation mode.
The PUNPCKHBW, PUNPCKHWD, and PUNPCKHDQ (unpack high packed data) and
PUNPCKLBW, PUNPCKLWD, and PUNPCKLDQ (unpack low packed data) instructions
convert bytes to words, words to doublewords, or doublewords to quadwords.
8.3.5.Logical Instructions
The PAND (bitwise logical AND), PANDN (bitwise logical AND NOT), POR (bitwise logical
OR), and PXOR (bitwise logical exclusive OR) instructions perform bitwise logical operations
on 64-bit quantities.
8.3.6.Shift Instructions
The logical shift left, logical shift right and arithmetic shift right instructions shift each element
by a specified number of bits. The logical left and right shifts also enable a 64-bit quantity (quad-
word) to be shifted as one block, assisting in data type conversions and alignment operations.
The PSLLW and PSLLD (packed shift left logical) and PSRLW and PSRLD (packed shift right
logical) instructions perform a logical left or right shift, and fill the empty high or low order bit
positions with zeros. These instructions support packed word, packed doubleword, and quad-
word data types.
The PSRAW and PSRAD (packed shift right arithmetic) instruction performs an arithmetic right
shift, copying the sign bit into empty bit positions on the upper end of the operand. This instruc-
tion supports packed word and packed doubleword data types. 
8.3.7.EMMS (Empty MMX™ State) Instruction
The EMMS instruction empties the MMX™ state. This instruction must be used to clear the
MMX™ state (empty the floating-point tag word) at the end of an MMX™ routine before
calling other routines that can execute floating-point instructions.
<<<    Index    >>>