Instruction
FCOMP
Compares ST(0) with ST(i) or a float in memory like FCOM, then pops the register stack.
- Extensions
- Forms
- 5 (5 Legacy)
- Data
- Intel XED v2026.08.23
Forms
Operation
What the forms do, in pseudocode that our tests run against results recorded on real processors. How to read.
if empty(st0):
underflow()
x = 3 # unordered
else:
x = comi(st0, src) # a single or a double, exactly;
# any NaN raises IE
c3 = x in (2, 3) # set with IE or DE unmasked too
c2 = x == 3
c0 = x in (1, 3)
c1 = 0
pop() # not with IE or DE unmasked
Run on AMD Zen 5 (EPYC 9645): 16 cases.
if empty(st0) or empty(src):
underflow()
x = 3 # unordered
else:
x = comi(st0, src) # any NaN raises IE
c3 = x in (2, 3) # set with IE or DE unmasked too
c2 = x == 3
c0 = x in (1, 3)
c1 = 0
pop() # not with IE or DE unmasked
Run on AMD Zen 5 (EPYC 9645): 19 cases.
Operands
| Operand | Kind | Action |
|---|---|---|
FCOMP m32fp FCOMP m64fp | ||
m32/64fp | explicit | read |
x87 register stack | implicit | pop |
x87 status word | implicit | write |
FCOMP st(i) | ||
st(i) | explicit | read |
x87 register stack | implicit | pop |
x87 status word | implicit | write |
Flags
| C0 | C1 | C2 | C3 |
|---|---|---|---|
| All forms | |||
| M | M | M | M |
Attributes
What else XED records about the forms. How to read.
- All forms
- may abort a TSX transaction
CPUID and processors
Each form belongs to an XED ISA set. A form can be used when the processor reports every CPUID bit of one of its ISA set's alternatives.
| ISA set | CPUID | Processors |
|---|---|---|
X87 | FPU | Every x86-64 processor in XED’s model and Zen 3 to Zen 6 |
More x87 instructions
Sources
- Intel XED v2026.08.23 (commit
0bcb6237345c): forms, encodings, operands, flags, exception classes, attributes, ISA sets, CPUID bits and chip model. - The CPU data of x86-64.net: Zen 3 to Zen 6, from GCC’s
-marchfeature sets and AMD’s Processor Programming References, which the page of each processor cites. - Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 2 (325383-093, September 2026): Volume 2A, page 3-324 (FCOM/
FCOMP/ FCOMPP) - Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 1 (253665-093, September 2026)
The tables are derived from Intel XED, Copyright Intel Corporation, licensed under the Apache License 2.0; x86-64.net converted and reformatted them. The text is our own.