![Intel ITANIUM ARCHITECTURE Manual Download Page 497](http://html.mh-extra.com/html/intel/itanium-architecture/itanium-architecture_manual_2073403497.webp)
4:490
Volume 4: IA-32 SSE Instruction Reference
CMPPS: Packed Single-FP Compare
Operation:
switch (imm8) {
case eq:
op = eq;
case lt:
op = lt;
case le:
op = le;
case unord: op = unord;
case neq:
op = neq;
case nlt:
op = nlt;
case nle:
op = nle;
case ord:
op = ord;
default:
Reserved;
}
cmp0 = op(xmm1[31-0],xmm2/m128[31-0]);
cmp1 = op(xmm1[63-32],xmm2/m128[63-32]);
cmp2 = op(xmm1[95-64],xmm2/m128[95-64]);
cmp3 = op(xmm1[127-96],xmm2/m128[127-96]);
xmm1[31-0] = (cmp0) ? 0xffffffff : 0x00000000;
xmm1[63-32] = (cmp1) ? 0xffffffff : 0x00000000;
xmm1[95-64] = (cmp2) ? 0xffffffff : 0x00000000;
xmm1[127-96] = (cmp3) ? 0xffffffff : 0x00000000;
Description:
For each individual pairs of SP FP numbers, the CMPPS instruction returns an all “1”
32-bit mask or an all “0” 32-bit mask, using the comparison predicate specified by
imm8; note that a subsequent computational instruction which uses this mask as an
input operand will not generate a fault, since a mask of all “0’s” corresponds to a FP
value of +0.0 and a mask of all “1’s” corresponds to a FP value of -qNaN. Some of the
comparisons can be achieved only through software emulation. For these comparisons
the programmer must swap the operands, copying registers when necessary to protect
the data that will now be in the destination, and then perform the compare using a
different predicate. The predicate to be used for these emulations is listed in under the
heading “Emulation.” The following table shows the different comparison types:
Opcode
Instruction
Description
0F,C2,/r,ib
CMPPS xmm1, xmm2/m128,
imm8
Compare packed SP FP numbers from XMM2/Mem to
packed SP FP numbers in XMM1 register using imm8 as
predicate.
Summary of Contents for ITANIUM ARCHITECTURE
Page 1: ......
Page 7: ...402 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 199: ...4 192 Volume 4 Base IA 32 Instruction Reference FWAIT Wait See entry for WAIT ...
Page 352: ...Volume 4 Base IA 32 Instruction Reference 4 345 ROL ROR Rotate See entry for RCL RCR ROL ROR ...
Page 589: ...4 582 Volume 4 IA 32 SSE Instruction Reference ...
Page 590: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index ...
Page 591: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 603: ...INDEX Index 12 Index for Volumes 1 2 3 and 4 ...
Page 604: ......