3-482
INSTRUCTION SET REFERENCE
PADDUSB/PADDUSWPacked Add Unsigned with Saturation
Description
These instructions add the individual unsigned data elements (bytes or words) of the packed
source operand (second operand) to the individual unsigned data elements of the packed desti-
nation operand (first operand) (refer to Figure 3-57). If the result of an individual addition
exceeds the range for the specified unsigned data type, the result is saturated. The destination
operand must be an MMX technology register; the source operand can be either an MMX
technology register or a quadword memory location.
The PADDUSB instruction adds the unsigned bytes of the source operand to the unsigned bytes
of the destination operand and stores the results to the destination operand. When an individual
result is beyond the range of an unsigned byte (that is, greater than FFH), the saturated unsigned
byte value of FFH is written to the destination operand.
The PADDUSW instruction adds the unsigned words of the source operand to the unsigned
words of the destination operand and stores the results to the destination operand. When an indi-
vidual result is beyond the range of an unsigned word (that is, greater than FFFFH), the saturated
unsigned word value of FFFFH is written to the destination operand.
Opcode
Instruction
Description
0F DC /r
PADDUSB mm,
mm/m64
Add unsigned packed bytes from mm/m64 to
unsigned packed bytes in mm and saturate.
0F DD /r
PADDUSW mm,
mm/m64
Add unsigned packed words from mm/m64 to
unsigned packed words in mm and saturate.
Figure 3-57. Operation of the PADDUSB Instruction
PADDUSB mm, mm/m64
mm
mm/m64
mm
100000000111111100111000
111111110001011100000111
111111111001011000111111
+
+
+
+
3006017
+
+
+
+