[PlanetCCRMA] Pentium-4 and denormal numbers on planetccrma

Steve Harris S.W.Harris@ecs.soton.ac.uk
Wed Jan 12 12:40:01 2005


On Wed, Jan 12, 2005 at 10:10:03 -0800, Fernando Pablo Lopez-Lezcano wrote:
> The fix that Steve posted would work only if the application is compiled
> with sse, and not all cpus have sse instructions, so I don't think I
> should use this (well, probably only very very old ones). I also think I
> read somewhere that the compile does not necessarily deal with sse very
> well (again, maybe older versions). 

Yes, early gcc3's often dont generate working SSE code.

The intel compiler can do a trick where it generates one binary with
multilple code segments that are chosen depending on the processor
capabilities. I dont think gcc can do it though, and anyway it might not
work with dynamically loaded plugins.
 
> What is needed is app writers to id the places where the problem is
> happening and insert code that will zero the denormals. 

Thats hard unfortunatly.
 
> This is also happening in freeverb. I think it does have denormal
> handling code but somewhoe it is not working as it should. 

I expect there are quite a lot of places you need to trap them, reverbs
are full of recirculating buffers. I tried to catch them in gverb, but I'm
sure thye can still get through.

- Steve