FCOMI/FCOMIP/ FUCOMI/FUCOMIP—Compare Real and Set EFLAGS
(Continued)
Operation
CASE (relation of operands) OF
ST(0) > ST(i):
ST(0) < ST(i):
ST(0) = ST(i):
ESAC;
IF instruction is FCOMI or FCOMIP
THEN
IF ST(0) or ST(i) = NaN or unsupported format
FI;
FI;
IF instruction is FUCOMI or FUCOMIP
THEN
IF ST(0) or ST(i) = QNaN, but not SNaN or unsupported format
FI;
FI;
IF instruction is FCOMIP or FUCOMIP
THEN
PopRegisterStack;
FI;
FPU Flags Affected
C1
C0, C2, C3
Additional Itanium System Environment Exceptions
Itanium Reg Faults Disabled FP Register Fault if PSR.dfl is 1, NaT Register Consumption
4:116
ZF, PF, CF 000;
ZF, PF, CF 001;
ZF, PF, CF 100;
THEN
#IA
IF FPUControlWord.IM = 1
THEN
ZF, PF, CF 111;
FI;
THEN
ZF, PF, CF 111;
ELSE (* ST(0) or ST(i) is SNaN or unsupported format *)
#IA;
IF FPUControlWord.IM = 1
THEN
ZF, PF, CF 111;
FI;
Set to 0 if stack underflow occurred; otherwise, cleared to 0.
Not affected.
Abort.
Volume 4: Base IA-32 Instruction Reference