Opcode CMPSS


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

Instruction: CMPSS 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

cmp = dest[<0>] operation(predicate) src[<0>];
if cmp = true then
dest[<0>] = 0xffffffff;
else
dest[<0>] = 0x00000000;
endif
<0> = 31..0 <2> = 95..64
<1> = 63..32 <3> = 127..96
Note: Compilers may implement additional instructions:
CMPEQSS xmm1,xmm2 <=> CMPSS xmm1,xmm2,0
CMPLTSS xmm1,xmm2 <=> CMPSS xmm1,xmm2,1
CMPLESS xmm1,xmm2 <=> CMPSS xmm1,xmm2,2
CMPUNORDSS xmm1,xmm2 <=> CMPSS xmm1,xmm2,3
CMPNEQSS xmm1,xmm2 <=> CMPSS xmm1,xmm2,4
CMPNLTSS xmm1,xmm2 <=> CMPSS xmm1,xmm2,5
CMPNLESS xmm1,xmm2 <=> CMPSS xmm1,xmm2,6
CMPORDSS xmm1,xmm2 <=> CMPSS xmm1,xmm2,7

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

Copyright by InternetNightmare 2005-2006