This content has not been validated; it was AI-generated following the x86-64 ISA Documentation generation process to maintain high quality. However, as no human has verified this data, errors may exist. If the accuracy of this data is critical, please consult the Intel SDM. The model used to generate this is gemma4:31b
FUCOMPP
Compares the value in an ST(0) floating-point stack element with a floating-point value from a specified source and sets the floating-point status word flags.
The following table covers what the source and destinations can be:
| source | destination(s) |
|---|---|
| reg | ST(0) |
| m8 | ST(0) |
| m16 | ST(0) |
| m32 | ST(0) |
| m64 | ST(0) |
| m128 | ST(0) |
DO NOT support LOCK
This instruction is available in x86-64 mode only via compatibility mode. It is not supported in 64-bit mode.
The operation is performed based on the current precision control set in the floating-point control word. If the operand is a memory reference, the size of the memory operand determines the precision of the comparison.
The instruction MAY trigger floating-point exceptions: #I if an operand is a NaN, #D if an operand is denormal, #O if the result cannot be represented in the current precision, #U if an underflow occurs, and #P if the result is inexact. The result of the comparison is stored in the FPU status word (C0, C1, C2, C3 flags).