ieee denormal on ia64?

Marcel Moolenaar xcllnt at mac.com
Fri Feb 25 23:24:06 UTC 2011


On Feb 25, 2011, at 1:33 AM, Anton Shterenlikht wrote:

> Can somebody please confirm that denormal
> are not available on ia64, see below.

Itanium has denormals. However FP_X_DNML has not been defined,
because it's non-standard:

ns1% svn log -c121332 lib/libc/ia64/gen/fpsetmask.c 
------------------------------------------------------------------------
r121332 | marcel | 2003-10-22 02:00:07 -0700 (Wed, 22 Oct 2003) | 11 lines

The FP status register allows for 6 traps to be masked. One of them,
the denormal/unnormal trap, is not a standard IEEE trap. We did
not exclude it from being returned by fpgetmask(), nor did we make
sure that fpsetmask() didn't clobber it. Since the non-IEEE trap
is not part of fp_except_t, users of ifpgetmask()/fpsetmask() would
be confronted with unexpected behaviour, one of which is a SIGFPE
for denormal/unnormal FP results.

This commit makes sure that we don't leak the denormal/unnormal mask
bit in fp_except_t and also that we don't clobber it.

------------------------------------------------------------------------


-- 
Marcel Moolenaar
xcllnt at mac.com





More information about the freebsd-current mailing list