Intel ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 3 REV 2.3 Manual page 135

Architecture software developer's manual revision 2.3
Hide thumbs Also See for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 3 REV 2.3:
Table of Contents

Advertisement

fprsqrta
fprsqrta — Floating-point Parallel Reciprocal Square Root
Approximation
Format:
(
) fprsqrta.
qp
If PR
is 0, PR
Description:
qp
If PR
is 1, the following will occur:
qp
• Each half of the significand of FR
error < 2
set to the IEEE-754 compliant response for the reciprocal square root of the
corresponding half of FR
+0, +Infinity, NaN}.
• If either half of FR
set to an approximation of the reciprocal square root which may cause the
Newton-Raphson iterations to fail to produce the correct IEEE-754 square root
result, then PR
For correct IEEE square root results, when PR
expected to compute the square root for each half (using the non-parallel frsqrta
instruction), and merge the results in FR
• The exponent field of FR
the sign field of FR
• If FR
f
is cleared.
The mnemonic values for sf are given in
Operation:
if (PR[qp]) {
fp_check_target_register(f
if (tmp_isrcode = fp_reg_disabled(f
disabled_fp_register_fault(tmp_isrcode, 0);
if (fp_is_natval(FR[f
FR[f
PR[p
} else {
tmp_default_result_pair = fprsqrta_exception_fault_check(f
if (fp_raise_fault(tmp_fp_env))
if (fp_is_nan(tmp_default_result_pair.hi)) {
} else {
3:126
,
=
sf f
p
f
1
2
3
is cleared and FR
p
2
-8.831
) of the reciprocal square root of the corresponding half of FR
— if that half of FR
f
3
is set to the IEEE-754 mandated reciprocal square root, or is
f
1
is set to 0, otherwise it is set to 1.
p
2
is set to the biased exponent for 2.0
f
1
is set to positive (0).
f
1
is a NaTVal, FR
is set to NaTVal instead of the computed result, and PR
f
3
1
])) {
3
] = NATVAL;
1
] = 0;
2
fp_exception_fault(fp_decode_fault(tmp_fp_env));
tmp_res_hi = fp_single(tmp_default_result_pair.hi);
tmp_pred_hi = 0;
tmp_fr3 = fp_normalize(fp_reg_read_hi(f
if (fp_is_zero(tmp_fr3)) {
tmp_res = FP_INFINITY;
tmp_res.sign = tmp_fr3.sign;
tmp_pred_hi = 0;
} else if (fp_is_pos_inf(tmp_fr3)) {
tmp_res = FP_ZERO;
tmp_pred_hi = 0;
} else {
tmp_res = fp_ieee_recip_sqrt(tmp_fr3);
remains unchanged.
f
1
is either set to an approximation (with a relative
f
1
is in the set {-Infinity, -Finite, -0,
f
3
is cleared, user software is
p
2
, keeping PR
f
1
Table 2-23 on page
);
1
, f
, 0, 0))
1
3
&tmp_fp_env, &limits_check);
3
f
cleared.
p
2
63
(0x1003E) and
3:56.
, sf,
3
));
Volume 3: Instruction Reference
F7
, or
3
p
2

Advertisement

Table of Contents
loading

This manual is also suitable for:

Itanium 9150m

Table of Contents