Opcode CMPPS


CPU: Pentium III+ (KNI/MMX2)
Type of instruction: User

Instruction: CMPPS dest,src,predicate

Description:
operation predicate
EQ equal (dest == src) 0
LT less-than (dest < src) 1
LE less-equal (dest <= src) 2
UNORD unordered (dest ? src) 3
NEQ not-equal (dest <> src) 4
NLT not-less-that (dest => src) 5
NLE not-less-equal (dest > src) 6
ORD ordered !(dest ? src) 7

par for i = 0 to 3 do
cmp = dest[] operation(predicate) src[];
if cmp = true then
dest[] = 0xffffffff;
else
dest[] = 0x00000000;
endif
endfor endpar
<0> = 31..0 <2> = 95..64
<1> = 63..32 <3> = 127..96
Note: Compilers may implement additional instructions:
CMPEQPS xmm1,xmm2 <=> CMPPS xmm1,xmm2,0
CMPLTPS xmm1,xmm2 <=> CMPPS xmm1,xmm2,1
CMPLEPS xmm1,xmm2 <=> CMPPS xmm1,xmm2,2
CMPUNORDPS xmm1,xmm2 <=> CMPPS xmm1,xmm2,3
CMPNEQPS xmm1,xmm2 <=> CMPPS xmm1,xmm2,4
CMPNLTPS xmm1,xmm2 <=> CMPPS xmm1,xmm2,5
CMPNLEPS xmm1,xmm2 <=> CMPPS xmm1,xmm2,6
CMPORDPS xmm1,xmm2 <=> CMPPS xmm1,xmm2,7

Physical Form and Timing:
CMPPS xmm1,xmm2/m128,imm8 ---- 0F C2 /r imm8 ---- 1-2


Copyright by InternetNightmare 2005-2006