3-469
INSTRUCTION SET REFERENCE
PACKSSWB/PACKSSDWPack with Signed Saturation
Description
These instructions pack and saturate signed words into bytes (PACKSSWB) or signed double-
words into words (PACKSSDW). The PACKSSWB instruction packs four signed words from
the destination operand (first operand) and four signed words from the source operand (second
operand) into eight signed bytes in the destination operand. If the signed value of a word is
beyond the range of a signed byte (that is, greater than 7FH or less than 80H), the saturated byte
value of 7FH or 80H, respectively, is stored into the destination.
The PACKSSDW instruction packs two signed doublewords from the destination operand (first
operand) and two signed doublewords from the source operand (second operand) into four
signed words in the destination operand (refer to Figure 3-53). If the signed value of a double-
word is beyond the range of a signed word (that is, greater than 7FFFH or less than 8000H), the
saturated word value of 7FFFH or 8000H, respectively, is stored into the destination.
The destination operand for either the PACKSSWB or PACKSSDW instruction must be an
MMX technology register; the source operand may be either an MMX technology register
or a quadword memory location.
Opcode
Instruction
Description
0F 63 /r
PACKSSWB mm,
mm/m64
Packs and saturate pack four signed words from mm
and four signed words from mm/m64 into eight signed
bytes in mm.
0F 6B /r
PACKSSDW mm,
mm/m64
Pack and saturate two signed doublewords from mm
and two signed doublewords from mm/m64 into four
signed words in mm.
Figure 3-53. Operation of the PACKSSDW Instruction
mm/m64
mm
DC
BA
DCBA
mm
PACKSSDW mm, mm/m64