Subject: Re: -mieee option
To: Anders Magnusson <ragge@ludd.luth.se>
From: Chris G. Demetriou <cgd@netbsd.org>
List: port-alpha
Date: 01/14/1999 10:38:11
Anders Magnusson <ragge@ludd.luth.se> writes:
> > Indeed, NetBSD/alpha does not support IEEE-conformant arithmetic.
> >
> Eh, what? How does the Alpha math lib work in that case???

There's a difference between "approximately IEEE" or "uses IEEE
formats and many operations" and "IEEE conformant" or "complete
implementation" for any nearly-strict sense of the word "conformant."

basically, NetBSD/alpha supports what the alpha hardware will do for
it.  That is things like:

	* floating point formats

	* basic operations

but does _not_ cover some of the corner cases re: exceptions and NaNs,
and (if i recall) doesn't completely cover some of the things that
some software likes to use (e.g. denormalized numbers).

i.e. basic math works, but if you're actually on the exception and/or
denorm, or other 'somewhat near the corner'-case IEEE math,
NetBSD/alpha won't do it.

Like i said, i'm approximately clueless when it comes to FP stuff.  If
you're interested in what the alpha architecture pushes off to
software completion (i.e. the OS and libraries), take a look at the
Alpha Architecture Reference Manual.

Looks like they've got the abridged (free) version of that up on the
web at:

http://ftp.digital.com/pub/Digital/info/semiconductor/literature/alphaahb.pdf

Interesting stuff for FP math fans can be found in:

	section 2.2.6	"IEEE Floating-Point Formats"

	section 4.7	"Floating-Point Instructions", especially
			section 4.7.10 "IEEE Standard" which describes
			the alpha architecture's behaviour for IEEE
			operations which are implementation dependent.
		
	appendix B	"IEEE Floating-Point Conformance," which
			begins:  "A subset of IEEE Standard for Binary
			Floating-Point Arithmetic (ANSI/IEEE Standard
			754-1985) is provided in the Alpha
			floating-point instructuctions.  This appendix
			describes how to construct a complete IEEE
			implementation."


You'll find that they describe much better than I do what the hardware
does and doesn't do, and what the OS should do to make up for it.  8-)


cgd
-- 
Chris Demetriou - cgd@netbsd.org - http://www.netbsd.org/People/Pages/cgd.html
Disclaimer: Not speaking for NetBSD, just expressing my own opinion.