Intel ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3 Manual page 1430

Hide thumbs Also See for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3:
Table of Contents

Advertisement

FICOM/FICOMP—Compare Integer
Opcode
DE /2
DA /2
DE /3
DA /3
Description
Compares the value in ST(0) with an integer source operand and sets the condition
code flags C0, C2, and C3 in the FPU status word according to the results (see table
below). The integer value is converted to extended-real format before the comparison
is made.
Condition
ST(0) > SRC
ST(0) < SRC
ST(0) = SRC
Unordered
These instructions perform an "unordered comparison." An unordered comparison also
checks the class of the numbers being compared. If either operand is a NaN or is in an
undefined format, the condition flags are set to "unordered."
The sign of zero is ignored, so that -0.0 = +0.0.
The FICOMP instructions pop the register stack following the comparison. To pop the
register stack, the processor marks the ST(0) register empty and increments the stack
pointer (TOP) by 1.
Operation
CASE (relation of operands) OF
ST(0) > SRC:
ST(0) < SRC:
ST(0) = SRC:
Unordered:
ESAC;
IF instruction = FICOMP
THEN
PopRegisterStack;
FI;
FPU Flags Affected
C1
C0, C2, C3
4:128
Instruction
Description
FICOM m16int
Compare ST(0) with m16int
FICOM m32int
Compare ST(0) with m32int
FICOMP m16int
Compare ST(0) with m16int and pop stack register
FICOMP m32int
Compare ST(0) with m32int and pop stack register
C3
C2
C0
0
0
0
0
0
1
1
0
0
1
1
1
C3, C2, C0  000;
C3, C2, C0  001;
C3, C2, C0  100;
C3, C2, C0  111;
Set to 0 if stack underflow occurred; otherwise, set to 0.
See table on previous page.
Volume 4: Base IA-32 Instruction Reference

Advertisement

Table of Contents
loading

This manual is also suitable for:

Itanium architecture 2.3

Table of Contents