A.5.208 PDISTIB: MMX Packed Distance and Accumulate with Implied Register
PDISTIB mm,m64 ; 0F 54 /r [CYRIX,MMX]
PDISTIB, specific to the Cyrix MMX extensions, treats its two input
operands as vectors of eight unsigned bytes. For each byte position, it
finds the absolute difference between the bytes in that position in the
two input operands, and adds that value to the byte in the same position
in the implied output register. The addition is saturated to an unsigned
byte in the same way as PADDUSB.
To work out the implied register, invert the lowest bit in the
register number. So PDISTIB MM0,M64 would put the result in MM1, but
PDISTIB MM1,M64 would put the result in MM0.
Note that PDISTIB cannot take a register as its second source operand.
Operation:
dstI[0-7] := dstI[0-7] + ABS(src0[0-7] - src1[0-7]),
dstI[8-15] := dstI[8-15] + ABS(src0[8-15] - src1[8-15]),
.......
.......
dstI[56-63] := dstI[56-63] + ABS(src0[56-63] - src1[56-63]).