A.5.207 PCMPxx: Compare Packed Integers.
PCMPEQB mm1,mm2/m64 ; 0F 74 /r [PENT,MMX]
PCMPEQW mm1,mm2/m64 ; 0F 75 /r [PENT,MMX]
PCMPEQD mm1,mm2/m64 ; 0F 76 /r [PENT,MMX]
PCMPGTB mm1,mm2/m64 ; 0F 64 /r [PENT,MMX]
PCMPGTW mm1,mm2/m64 ; 0F 65 /r [PENT,MMX]
PCMPGTD mm1,mm2/m64 ; 0F 66 /r [PENT,MMX]
PCMPEQB xmm1,xmm2/m128 ; 66 0F 74 /r [WILLAMETTE,SSE2]
PCMPEQW xmm1,xmm2/m128 ; 66 0F 75 /r [WILLAMETTE,SSE2]
PCMPEQD xmm1,xmm2/m128 ; 66 0F 76 /r [WILLAMETTE,SSE2]
PCMPGTB xmm1,xmm2/m128 ; 66 0F 64 /r [WILLAMETTE,SSE2]
PCMPGTW xmm1,xmm2/m128 ; 66 0F 65 /r [WILLAMETTE,SSE2]
PCMPGTD xmm1,xmm2/m128 ; 66 0F 66 /r [WILLAMETTE,SSE2]
The PCMPxx instructions all treat their operands as vectors of
bytes, words, or doublewords; corresponding elements of the source
and destination are compared, and the corresponding element of the
destination (first) operand is set to all zeros or all ones depending on
the result of the comparison.
- PCMPxxB treats the operands as vectors of bytes;
- PCMPxxW treats the operands as vectors of words;
- PCMPxxD treats the operands as vectors of doublewords;
- PCMPEQx sets the corresponding element of the destination operand to
all ones if the two elements compared are equal;
- PCMPGTx sets the destination element to all ones if the element of
the first (destination) operand is greater (treated as a signed
integer) than that of the second (source) operand.