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>