* sim-fpu.c (pack_fpu): If SIM_QUIET_NAN_NEGATED is defined, use a
different fraction for a quiet NaN. (unpack_fpu): Likewise.
This commit is contained in:
parent
3403418e49
commit
09b96ea041
|
@ -1,3 +1,9 @@
|
||||||
|
2005-07-08 Ian Lance Taylor <ian@airs.com>
|
||||||
|
|
||||||
|
* sim-fpu.c (pack_fpu): If SIM_QUIET_NAN_NEGATED is defined, use a
|
||||||
|
different fraction for a quiet NaN.
|
||||||
|
(unpack_fpu): Likewise.
|
||||||
|
|
||||||
2005-07-08 Ben Elliston <bje@au.ibm.com>
|
2005-07-08 Ben Elliston <bje@au.ibm.com>
|
||||||
|
|
||||||
* callback.c: Remove ANSI_PROTOTYPES conditional code.
|
* callback.c: Remove ANSI_PROTOTYPES conditional code.
|
||||||
|
|
|
@ -201,7 +201,11 @@ pack_fpu (const sim_fpu *src,
|
||||||
/* force fraction to correct class */
|
/* force fraction to correct class */
|
||||||
fraction = src->fraction;
|
fraction = src->fraction;
|
||||||
fraction >>= NR_GUARDS;
|
fraction >>= NR_GUARDS;
|
||||||
|
#ifdef SIM_QUIET_NAN_NEGATED
|
||||||
|
fraction |= QUIET_NAN - 1;
|
||||||
|
#else
|
||||||
fraction |= QUIET_NAN;
|
fraction |= QUIET_NAN;
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case sim_fpu_class_snan:
|
case sim_fpu_class_snan:
|
||||||
sign = src->sign;
|
sign = src->sign;
|
||||||
|
@ -362,10 +366,17 @@ unpack_fpu (sim_fpu *dst, unsigned64 packed, int is_double)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
int qnan;
|
||||||
|
|
||||||
/* Non zero fraction, means NaN */
|
/* Non zero fraction, means NaN */
|
||||||
dst->sign = sign;
|
dst->sign = sign;
|
||||||
dst->fraction = (fraction << NR_GUARDS);
|
dst->fraction = (fraction << NR_GUARDS);
|
||||||
if (fraction >= QUIET_NAN)
|
#ifdef SIM_QUIET_NAN_NEGATED
|
||||||
|
qnan = (fraction & QUIET_NAN) == 0;
|
||||||
|
#else
|
||||||
|
qnan = fraction >= QUIET_NAN;
|
||||||
|
#endif
|
||||||
|
if (qnan)
|
||||||
dst->class = sim_fpu_class_qnan;
|
dst->class = sim_fpu_class_qnan;
|
||||||
else
|
else
|
||||||
dst->class = sim_fpu_class_snan;
|
dst->class = sim_fpu_class_snan;
|
||||||
|
|
Loading…
Reference in New Issue