Specifications

Intel
®
64 and IA-32 Architectures Software Developer’s Manual Documentation Changes 131
Documentation Changes
PMADDUBSW — Multiply and Add Packed Signed and Unsigned Bytes
Instruction Operand Encoding
...
PMADDWD—Multiply and Add Packed Integers
Instruction Operand Encoding
...
Opcode Instruction Op/
En
64-Bit
Mode
Compat/
Leg Mode
Description
0F 38 04 /r PMADDUBSW
mm1, mm2/m64
A Valid Valid Multiply signed and
unsigned bytes, add
horizontal pair of signed
words, pack saturated
signed-words to MM1.
66 0F 38 04 /r PMADDUBSW
xmm1,
xmm2/m128
A Valid Valid Multiply signed and
unsigned bytes, add
horizontal pair of signed
words, pack saturated
signed-words to XMM1.
Op/En Operand 1 Operand 2 Operand 3 Operand 4
A ModRM:reg (r, w) ModRM:r/m (r) NA NA
Opcode Instruction Op/
En
64-Bit
Mode
Compat/
Leg Mode
Description
0F F5 /r PMADDWD mm,
mm/m64
A Valid Valid Multiply the packed words in
mm by the packed words in
mm/m64, add adjacent
doubleword results, and
store in mm.
66 0F F5 /r PMADDWD xmm1,
xmm2/m128
A Valid Valid Multiply the packed word
integers in xmm1 by the
packed word integers in
xmm2/m128, add adjacent
doubleword results, and
store in xmm1.
Op/En Operand 1 Operand 2 Operand 3 Operand 4
A ModRM:reg (r, w) ModRM:r/m (r) NA NA