Path: utzoo!utgpu!watserv1!watmath!att!att!linac!uwm.edu!zaphod.mps.ohio-state.edu!ub!boulder!stan!kaprap!joel From: joel@kaprap.Solbourne.COM (Joel Boney) Newsgroups: comp.arch Subject: Re: DeNorms (was Alignment on RS/6000) Keywords: denorms Message-ID: <1990Nov28.154221.26355@Solbourne.COM> Date: 28 Nov 90 15:42:21 GMT References: <897@sibyl.eleceng.ua.OZ> <13342@encore.Encore.COM> <46866@apple.Apple.COM> Sender: news@Solbourne.COM Organization: Solbourne Computer, Inc. Lines: 28 In article <46866@apple.Apple.COM> baum@apple.UUCP (Allen Baum) writes: >[] >>In article <13342@encore.Encore.COM> jkenton@pinocchio.encore.com (Jeff Kenton) writes: >> >>This is probably true for NaN's and Infinities, but Denorms occur all the >>time. printf() often generates them when dealing with floats, and the >>math library routines do also. > >I still don't understand the assertion that Denorms occur all the time. >Just because printf() knows how to handle them doesn't mean that it >happens very often. Likewise the math routines. What is your evidence >than it happens "often" (whatever that means- 1% is incredibly often by >my definition in this case) Statistically denormalized numbers almost never occur (surely less than 1%). That doesn't mean they are not useful. They make writing robust floating point codes much easier. However, if your algorithm is producing lots of denorms then it probably is time to reconsider your algorithm. The library routines may generate intermediate denorms from time to time, but good library routines will not generate very many. It is fine (and certainly in the spirit of the IEEE standard) to implement some rare functions such as generating and computing with denorms via a combination of hardware and software. Most of the RISC vendors do this now and the performance degradation is not noticeable for any normal codes (SPECmarks for example). I would much rather the chip implementators use their silicon for things like more cache than for handling things like denorms in hardware.