![Intel ITANIUM ARCHITECTURE Manual Download Page 117](http://html.mh-extra.com/html/intel/itanium-architecture/itanium-architecture_manual_2073403117.webp)
4:110
Volume 4: Base IA-32 Instruction Reference
FCMOV
cc
—Floating-point Conditional Move
Description
Tests the status flags in the EFLAGS register and moves the source operand (second
operand) to the destination operand (first operand) if the given test condition is true.
The source operand is always in the ST(
i
) register and the destination operand is always
ST(0).
The FCMOV
cc
instructions are useful for optimizing small IF constructions. They also
help eliminate branching overhead for IF operations and the possibility of branch
mispredictions by the processor.
A processor in the Pentium Pro processor family may not support the FCMOV
cc
instructions. Software can check if the FCMOV
cc
instructions are supported by checking
the processor’s feature information with the CPUID instruction (see
). If both the CMOV and FPU feature bits are set, the
FCMOV
cc
instructions are supported.
Operation
IF condition TRUE
ST(0)
ST(
i
)
FI;
FPU Flags Affected
C1
Set to 0 if stack underflow occurred.
C0, C2, C3
Undefined.
Additional Itanium System Environment Exceptions
Itanium Reg Faults Disabled FP Register Fault if PSR.dfl is 1, NaT Register Consumption
Abort.
Floating-point Exceptions
#IS
Stack underflow occurred.
Integer Flags Affected
None.
Opcode
Instruction
Description
DA C0+i
FCMOVB ST(0), ST(
i
)
Move if below (CF=1)
DA C8+i
FCMOVE ST(0), ST(
i
)
Move if equal (ZF=1)
DA D0+i
FCMOVBE ST(0), ST(
i
)
Move if below or equal (CF=1 or ZF=1)
DA D8+i
FCMOVU ST(0), ST(
i
)
Move if unordered (PF=1)
DB C0+i
FCMOVNB ST(0), ST(
i
)
Move if not below (CF=0)
DB C8+i
FCMOVNE ST(0), ST(
i
)
Move if not equal (ZF=0)
DB D0+i
FCMOVNBE ST(0), ST(
i
)
Move if not below or equal (CF=0 and ZF=0)
DB D8+i
FCMOVNU ST(0), ST(
i
)
Move if not unordered (PF=0)
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: ......