mirror of
https://github.com/mii443/qemu.git
synced 2025-08-22 23:25:48 +00:00
softfloat: Convert float128_default_nan to parts
Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
@ -171,6 +171,25 @@ static void parts64_default_nan(FloatParts64 *p, float_status *status)
|
||||
};
|
||||
}
|
||||
|
||||
static void parts128_default_nan(FloatParts128 *p, float_status *status)
|
||||
{
|
||||
/*
|
||||
* Extrapolate from the choices made by parts64_default_nan to fill
|
||||
* in the quad-floating format. If the low bit is set, assume we
|
||||
* want to set all non-snan bits.
|
||||
*/
|
||||
FloatParts64 p64;
|
||||
parts64_default_nan(&p64, status);
|
||||
|
||||
*p = (FloatParts128) {
|
||||
.cls = float_class_qnan,
|
||||
.sign = p64.sign,
|
||||
.exp = INT_MAX,
|
||||
.frac_hi = p64.frac,
|
||||
.frac_lo = -(p64.frac & 1)
|
||||
};
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
| Returns a quiet NaN from a signalling NaN for the deconstructed
|
||||
| floating-point parts.
|
||||
|
Reference in New Issue
Block a user