Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!munnari.oz.au!goanna!ok From: ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) Newsgroups: comp.arch Subject: Re: 386 Clones [really: IEEE floating point & various approaches; long] Message-ID: <4199@goanna.cs.rmit.oz.au> Date: 5 Nov 90 03:55:01 GMT References: <1990Oct26.015244.586@amd.com> <8464@scolex.sco.COM> <42677@mips.mips.COM> Organization: Comp Sci, RMIT, Melbourne, Australia Lines: 50 In article <42677@mips.mips.COM>, mash@mips.COM (John Mashey) writes: > In article <4186@goanna.cs.rmit.oz.au> ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) writes: > 1) SVID, to be honest, was fairly irrelevant to this, Eh? Oh gosh, this means I have been fantastically stupid. You see, when I tried to write numeric code that would run under "UNIX", I used the SVID as a portability guide. > in that it described an interface, but gave as a future direction IEEE > exception-handling. Darn it, so _that_ was the answer. Instead of trying to write programs that would use the facilities available *now* (actually, *then*) I should have waited for the future (no IEEE signal handling in V.3). BSD UNIX *does* provide adequate information to an SIGFPE handler, for my former purposes, except that the documentation could do with improving (what is the difference between FPE_FLTOVF_FAULT and FPE_FLTOVF_TRAP, for example?). But if your code is to run on a V.2 box, that really doesn't help, it merely adds the pain of Tantalus to that of Sisyphus. > 2) People who've built IEEE-based computers who worried about FP > have long ago included some approximation or other to full IEEE-signal > handlers. I'm sure Sun did; we did, and I'd assume others did also. (a) Not all. (I suppose it depends on how worried they were.) (b) Certainly Sun did. Twice. And Sun's software FP on the 3/50 never generated no signals nohow (I don't know about 4.x). People who wanted their code to be portable *had* to write it so that it would work without IEEE exception handling, even if they only wanted their code to work on IEEE + 4.xBSD UNIX boxes, even if they further restricted portability to MC680x0-based machines, because there wasn't a *standard*, not even a de-facto standard, interface. The really horrible thing was that Sun were one of a very small number of companies that obeyed the letter of IEEE 754 law and gave you the default behaviour required by that standard, so not only could you not rely on *getting* interrupts, you couldn't rely on *not* getting them either. I suppose the contrast is between companies/universities/research units that had serious number-crunching requirements and picked a UNIX system to suit and inviduals who having a UNIX system ready to hand wanted to get some number-crunching done and wanted it to work on whichever system they'd be able to get time on next. -- The problem about real life is that moving one's knight to QB3 may always be replied to with a lob across the net. --Alasdair Macintyre.