Path: utzoo!censor!geac!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!zaphod.mps.ohio-state.edu!samsung!uunet!microsoft!donc From: donc@microsoft.UUCP (Don CORBITT) Newsgroups: comp.arch Subject: Re: Alignment on RS/6000 Message-ID: <59612@microsoft.UUCP> Date: 6 Dec 90 18:30:01 GMT References: <897@sibyl.eleceng.ua.OZ> <13342@encore.Encore.COM> <46866@apple.Apple.COM> Reply-To: donc@microsoft.UUCP (Don CORBITT) Organization: Microsoft Corp., Redmond WA Lines: 35 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) > > >-- > baum@apple.com (408)974-3385 >{decwrl,hplabs}!amdahl!apple!baum "In a previous life" I developed 3D graphics applications on PC's. We did lots of 4x4 matrix multiplication and inversions, concatenating matrices of our hierarchical models, etc. Although we didn't have 1% denormals, we certainly had enough of them that a bug in the Intel '287 math chip caused problems until we worked around it. (As I recall, it would store a denormal properly, but when reading one it converted it to NaN. The fix was to trap the denormal exception, and flush to zero.) These denormals were data dependent, based on user manipulation of their models. A simple way to produce it is to rotate about X 90.0 degrees, then rotate about X -90.0 degrees. This often converts 0.0 to a denormal tiny value. It would be a Bad Thing if denormals caused fatal traps. -- Don Corbitt - donc@microsoft.com - Not a spokesmodel for MS. mail flames, post retractions. Support short signatures, 3 lines max.