670 AMD Geode™ LX Processors Data Book
Instruction Set
33234H
All references to TOS and ST(n) refer to stack layout prior to execution. Values popped off the stack are discarded. A POP
from the stack increments the top of stack pointer. A PUSH to the stack decrements the top of stack pointer. Issues:
1) For FCOS, FSIN, FSINCOS, and FPTAN, time shown is for the absolute value of TOS < π/4:
— If FSINCOS is outside this range, add two times the FPREM clock counts for argument reduction
— If FCOS, FSIN, or FPTAN is outside this range, add FPREM clock counts for argument reduction
2) These instructions must wait for the FPU pipeline to flush. Cycle count depends on what instructions are in the pipe-
line.
3) These instructions are executed in a separate unit and execute in parallel with other multicycle instructions.
4) The AMDGeode LX processor performs PFRCP and PFRSQRT to 24-bit accuracy in one cycle, so these instructions
are unnecessary. They are treated as a move.
5) 5. The following opcodes are reserved:
D9D7, D9E2, D9E7, DDFC, DED8, DEDA, DEDC, DEDD, DEDE, and DFFC. If a reserved opcode is executed, unpre-
dictable results may occur (exceptions are not generated).
FISUB Floating Point Integer Subtract
32-bit Integer DA [mod 100 r/m] TOS <--- TOS - M.SI 2/7
16-bit Integer DE [mod 100 r/m] TOS <--- TOS - M.WI 2/7
FISUBR Floating Point Integer Subtract Reverse
32-bit Integer Reversed DA [mod 101 r/m] TOS <--- M.SI - TOS 2/7
16-bit Integer Reversed DE [mod 101 r/m] TOS <--- M.WI - TOS 2/7
FTST Test Top of Stack D9 E4 CC set by TOS - 0.0 1
FUCOM Unordered Compare DD [1110 0 n] CC set by TOS - ST(n) 1/6
FUCOMP Unordered Compare, Pop DD [1110 1 n] CC set by TOS - ST(n); then pop TOS 1/6
FUCOMPP Unordered Compare, Pop two
elements
DA E9 CC set by TOS - ST(I); then pop TOS and ST(1) 1/6
FWAIT Wait 9B Wait for FPU not busy 1+ 2
FXAM Report Class of Operand D9 E5 CC <--- Class of TOS 1 3
FXCH Exchange Register with TOS D9 [1100 1 n] TOS <--> ST(n) Exchange 1 3
FXTRACT Extract Exponent D9 F4 temp <--- TOS;
TOS <--- exponent (temp); then
push significant (temp) onto stack
3/6
FLY2X Function Eval. y × Log2(x) D9 F1 ST(1) <--- ST(1) × Log2(TOS); then pop TOS 204 - 222
FLY2XP1 Function Eval. y × Log2(x+1) D9 F9 ST(1) <--- ST(1) × Log2(1+TOS); then pop TOS 220 4
Table 8-29. FPU Instruction Set (Continued)
FPU Instruction Opcode Operation
Clock Ct
Single/Dbl
(or extended) Notes