A SERVICE OF

logo

308 Instruction Latencies Appendix C
25112 Rev. 3.06 September 2005
Software Optimization Guide for AMD64 Processors
FCOMIP ST, ST(i) DFh 11-110-xxx VectorPath FADD 3 3
FCOMP ST(i) D8h 11-011-xxx DirectPath FADD 2 1
FCOMP [mem32real] D8h mm-011-xxx DirectPath FADD 4
FCOMP [mem64real] DCh mm-011-xxx DirectPath FADD 4
FCOMPP DEh 11-011-001 DirectPath FADD 2
FCOS D9h 11-111-111 VectorPath - 92
FDECSTP D9h 11-110-110 DirectPath FADD/FMUL/
FSTORE
2
FDIV ST, ST(i) D8h 11-110-xxx DirectPath FMUL 16/20
/24
1, 6
FDIV ST(i), ST DCh 11-111-xxx DirectPath FMUL 16/20
/24
1, 6
FDIV [mem32real] D8h mm-110-xxx DirectPath FMUL 18/22
/26
6
FDIV [mem64real] DCh mm-110-xxx DirectPath FMUL 18/22
/26
6
FDIVP ST(i), ST DEh 11-111-xxx DirectPath FMUL 16/20
/24
1, 6
FDIVR ST, ST(i) D8h 11-110-xxx DirectPath FMUL 16/20
/24
1, 6
FDIVR ST(i), ST DCh 11-111-xxx DirectPath FMUL 16/20
/24
1, 6
FDIVR [mem32real] D8h mm-111-xxx DirectPath FMUL 18/22
/26
6
FDIVR [mem64real] DCh mm-111-xxx DirectPath FMUL 18/22
/26
6
FDIVRP DEh 11-110-001 DirectPath FMUL 16/20
/24
6
Table 15. x87 Floating-Point Instructions (Continued)
Syntax
Encoding
Decode
type
FPU
pipe(s)
Latency Note
First
byte
Second
byte
ModRM byte
Notes:
1. The last three bits of the ModRM byte select the stack entry ST(i).
2. These instructions have an effective latency as shown. However, these instructions generate an internal NOP
with a latency of two cycles but no related dependencies. These internal NOPs can be executed at a rate of
three per cycle and can use any of the three execution resources.
3. This is a VectorPath decoded operation that uses one execution pipe (one ROP).
4. There is additional latency associated with this instruction. ā€œeā€ represents the difference between the exponents
of the divisor and the dividend. If ā€œsā€ is the number of normalization shifts performed on the result, then
n = (s+1)/2 where (0 <= n <= 32).
5. The latency provided for this operation is the best-case latency.
6. The three latency numbers represent the latency values for precision control settings of single precision, double
precision, and extended precision, respectively.