summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordas <das@FreeBSD.org>2004-05-06 09:36:11 +0000
committerdas <das@FreeBSD.org>2004-05-06 09:36:11 +0000
commit3edaa65c3a15b7afe72a94d903eeb8b2a3792191 (patch)
tree7dac6cc5ff0cb5eb022e47a2df66225a706c0583
parentc73ba67e32b4ebf0a32a8a16155706cff113e2dc (diff)
downloadFreeBSD-src-3edaa65c3a15b7afe72a94d903eeb8b2a3792191.zip
FreeBSD-src-3edaa65c3a15b7afe72a94d903eeb8b2a3792191.tar.gz
When a denormal underflows to zero, raise an underflow exception.
Thanks to marcel for helping me test this.
-rw-r--r--sys/alpha/alpha/ieee_float.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/alpha/alpha/ieee_float.c b/sys/alpha/alpha/ieee_float.c
index 390011a..003068b 100644
--- a/sys/alpha/alpha/ieee_float.c
+++ b/sys/alpha/alpha/ieee_float.c
@@ -312,6 +312,9 @@ makefloat(int sign, int exp, u_int64_t frac,
break;
}
+ if (frac == 0)
+ *status |= FPCR_UNF;
+
/*
* Rounding up may take us to TWO if
* fraclo == (TWO - epsilon). Also If fraclo has been
OpenPOWER on IntegriCloud