MMX instruction to perform a
packed multiply and add.
This instruction does most of a
dot product - except for the last add. The source is a
MMX register or a
64 bit memory location, and the desination is a MMX register. The 4 words of the source are (signed) multipled with the 4 words of the destination. Then the products of the top two word pairs are added, and put in the top
dword of the destination. The bottom two products are added and put in the bottom of the destination register. The only steps that remain to complete the dot product (assuming the result of PMADDW is in mm1) are:
movq mm1, mm0
psllq 32, mm0
paddd mm0, mm1
AT&T instruction ordering used: operator, source, destination.
Compare:
PMULHW,
PMULLW