Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Feb 2011 15:24:03 -0800
From:      Marcel Moolenaar <xcllnt@mac.com>
To:        Anton Shterenlikht <mexas@bristol.ac.uk>
Cc:        freebsd-current@freebsd.org, freebsd-ia64@freebsd.org
Subject:   Re: ieee denormal on ia64?
Message-ID:  <6809984C-1CEA-4BB6-AC6E-EFC65FCBBBBE@mac.com>
In-Reply-To: <20110225093345.GA2123@mech-cluster241.men.bris.ac.uk>
References:  <20110225093345.GA2123@mech-cluster241.men.bris.ac.uk>

next in thread | previous in thread | raw e-mail | index | archive | help

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@mac.com






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6809984C-1CEA-4BB6-AC6E-EFC65FCBBBBE>