softfloat: Convert floatx80_round to FloatParts

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Richard Henderson 2020-11-21 12:51:14 -08:00
parent aa5e19ccbd
commit 45a76b71ab

View file

@ -5792,10 +5792,12 @@ float128 floatx80_to_float128(floatx80 a, float_status *status)
floatx80 floatx80_round(floatx80 a, float_status *status) floatx80 floatx80_round(floatx80 a, float_status *status)
{ {
return roundAndPackFloatx80(status->floatx80_rounding_precision, FloatParts128 p;
extractFloatx80Sign(a),
extractFloatx80Exp(a), if (!floatx80_unpack_canonical(&p, a, status)) {
extractFloatx80Frac(a), 0, status); return floatx80_default_nan(status);
}
return floatx80_round_pack_canonical(&p, status);
} }
/*---------------------------------------------------------------------------- /*----------------------------------------------------------------------------