fms
fms — Floating-point Multiply Subtract
(
) fms.
Format:
qp
pc
The product of FR
Description:
subtracted from this product, again in infinite precision. The resulting value is then
rounded to the precision indicated by pc (and possibly FPSR.sf.pc and FPSR.sf.wre)
using the rounding mode specified by FPSR.sf.rc. The rounded result is placed in FR
If any of FR
computed result.
If
is f0, an IEEE multiply operation is performed instead of a multiply and subtract.
f
2
See "fmpy — Floating-point Multiply" on page 3:85.
The mnemonic values for the opcode's pc are given in
mnemonic values for sf are given in
interpretation of the status field's pc, wre, and rc, refer to
page
1:90.
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
fp_is_natval(FR[f
FR[f
fp_update_psr(f
} else {
tmp_default_result = fms_fnma_exception_fault_check(f
if (fp_raise_fault(tmp_fp_env))
if (fp_is_nan_or_inf(tmp_default_result)) {
} else {
}
fp_update_fpsr(sf, tmp_fp_env);
fp_update_psr(f
if (fp_raise_traps(tmp_fp_env))
}
}
Invalid Operation (V)
FP Exceptions:
Denormal/Unnormal Operand (D)
Software Assist (SWA) fault
3:86
.
=
,
,
sf f
f
f
f
1
3
4
2
and FR
is computed to infinite precision and then FR
f
f
3
4
, FR
, or FR
is a NaTVal, a NaTVal is placed in FR
f
f
f
3
4
2
]) || fp_is_natval(FR[f
2
])) {
4
] = NATVAL;
1
);
1
fp_exception_fault(fp_decode_fault(tmp_fp_env));
FR[f
] = tmp_default_result;
1
tmp_res = fp_mul(fp_reg_read(FR[f
tmp_fr2 = fp_reg_read(FR[f
tmp_fr2.sign = !tmp_fr2.sign;
if (f
!= 0)
2
tmp_res = fp_add(tmp_res, tmp_fr2, tmp_fp_env);
FR[f
] = fp_ieee_round(tmp_res, &tmp_fp_env);
1
);
1
fp_exception_trap(fp_decode_trap(tmp_fp_env));
Table 2-22 on page
Table 2-23 on page
3:56. For the encodings and
);
1
, f
, f
, f
1
2
3
4
]) ||
3
]), fp_reg_read(FR[f
3
]);
2
Underflow (U)
Overflow (O)
Inexact (I)
Software Assist (SWA) trap
is
f
2
instead of the
f
1
3:56. The
Table 5-5
and
Table 5-6 on
))
, f
, f
,
2
3
4
pc, sf, &tmp_fp_env);
]));
4
Volume 3: Instruction Reference
F1
.
f
1
Need help?
Do you have a question about the ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 3 REV 2.3 and is the answer not in the manual?
Questions and answers