FSINCOSA
Operation
Atomically writes paired sine and cosine approximations over the reduced pi/4 interval.
Assembler Syntax
FSINCOSA.{S|D}(z) Fn(s), Fn(d), Fn(c)
Privilege
Unprivileged
Required CPUID flags
FP
FPTRANSA
Repeat eligibility
REP eligible
Computes the paired \(\sin(x)\) and \(\cos(x)\) references in radians over finite \(x\) with \(|x| \le \pi/4\) after DAZ and writes implementation-bounded S- or D-format approximations under the selected FPTRANSA accuracy contract.
The required FPTRANSA_ACCURACY contract is 0x0004.
Special values
-
Matching destination registers:
INVALID_OPERAND_RELATIONis raised before operands or floating-point state are read. -
Infinite source or source magnitude above \(\pi/4\): NV is generated and both results are the architectural default quiet NaN.
-
Zero source: the sine result preserves the source zero and the cosine result is positive one.
Exact anchors
-
\(\sin(+0) = +0\) and \(\cos(+0) = +1\)
-
\(\sin(-0) = -0\) and \(\cos(-0) = +1\)
Required properties
-
the ULP bound applies independently to both results
-
separate FSINA and FCOSA executions may produce different results
For nontrapping execution, the sine and cosine destinations are written atomically.
2.75in
Encodings
FSINCOSA.{S|D}(z) Fn(s), Fn(d), Fn(c)
Format: Instruction format for FSINCOSA.{S|D}(z) Fn(s), Fn(d), Fn(c)
sin_dst, cos_dst — illegal_instruction