4:118
Volume 4: Base IA-32 Instruction Reference
FCOS—Cosine
Description
Calculates the cosine of the source operand in register ST(0) and stores the result in
ST(0). The source operand must be given in radians and must be within the range
2
63
to +2
63
. The following table shows the results obtained when taking the cosine of
various classes of numbers, assuming that neither overflow nor underflow occurs.
Notes:
Fmeans finite-real number.
* indicates floating-point invalid-arithmetic-operand (#IA) exception.
If the source operand is outside the acceptable range, the C2 flag in the FPU status
word is set, and the value in register ST(0) remains unchanged. The instruction does
not raise an exception when the source operand is out of range. It is up to the program
to check the C2 flag for out-of-range conditions. Source values outside the range
2
63
to +2
63
can be reduced to the range of the instruction by subtracting an appropriate
integer multiple of 2
or by using the FPREM instruction with a divisor of 2
.
Operation
IF |ST(0)|
2
63
THEN
C2
0;
ST(0)
cosine(ST(0));
ELSE (*source operand is out-of-range *)
C2
1;
FI;
Opcode
Instruction
Description
D9 FF
FCOS
Replace ST(0) with its cosine
ST(0) SRC
ST(0) DEST
*
F
1 to +1
0
+1
0
+1
+F
1 to +1
+
*
NaN
NaN
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: ......