SSE compare instructions
if you want conditional jumps, easiest is to use COMISS xmm1,xmm2/mem32 J** label ZF set if equal CF carry flag is used to check lessthan/greater than PF is set if unordered (either source is NaN) CMPccPS or CMPccPD is good for performing parallel compares it returns true(all bits set) or false(all bits cleared) if you for example have a conditionals
comparing singleprecision
CMPSS xmm1,xmm2/mem32,imm8 | use imm8 to tell it what it shall compare | imm8 values |
CMPEQSS xmm1,xmm2/mem32 | Equal | 0 |
CMPLTSS xmm1,xmm2/mem32 | Less-than | 1 |
CMPLESS xmm1,xmm2/mem32 | Less-than or Equal | 2 |
CMPUNORDSS xmm1,xmm2/mem32 | Unordered | 3 |
CMPNEQSS xmm1,xmm2/mem32 | Not-Equal | 4 |
CMPNLTSS xmm1,xmm2/mem32 | Not-less-than | 5 |
CMPNLESS xmm1,xmm2/mem32 | Not-less_than or equal | 6 |
CMPORDSS xmm1,xmm2/mem32 | Ordered | 7 |
SSE2 compare instructions
comparing doubleprecision
CMPSD xmm1,xmm2/mem64,imm8 | ||
CMPEQSD xmm1,xmm2/mem64 | ||
CMPLTSD xmm1,xmm2/mem64 | ||
CMPLESD xmm1,xmm2/mem64 | ||
CMPUNORDSD xmm1,xmm2/mem64 | ||
CMPNEQSD xmm1,xmm2/mem64 | ||
CMPNLTSD xmm1,xmm2/mem64 | ||
CMPNLESD xmm1,xmm2/mem64 | ||
CMPORDSD xmm1,xmm2/mem64 |