> On Apr 8, 2023, at 2:14 PM, robert bristow-johnson 
> <r...@audioimagination.com> wrote:
> 
> Also, especially if it's a 64-bit processor, we should simply be able to do 
> all of our DSP using doubles

Not a HW person but AFAIK all 64 bit ARM processors also have SIMD. So there 
would be a 2x penalty for using double rather than float.

> We should not now, with a modern 64-bit processor, have to give up on the 
> blessings of denormal processing just because they didn't deal with it in the 
> logic of the FPU.  It's not that much more processing, when the FPU is 
> presented with a denorm (which is an biased exponent of 0), it does not 
> inject the "hidden 1 bit" and it uses the same exponent internally as if the 
> biased exponent was 1.  It's just a few gates, it shouldn't even take another 
> clock.

Again not a HW person but I’m given to believe that the issue is more with 
latency/branching. This messes up
CPU performance at the pipeline level. Apparently in GPU world, where 
everything is parallel and this doesn’t matter, you do get denormals handled in 
HW.

> But we should not have to worry about denorms and have to set the FTZ and DAZ 
> bits to avoid denorm exceptions. There should be no denorm exceptions 
> anymore.  Whether it's single or double precision.  We're well into the 21st 
> century.  Denorms should be just another floating-point value.

I struggle to think of a realistic audio DSP example where flushing denormals 
to 0 would be audible/noticeable. I can come up with examples where it blows 
things up, but they are all bad designs from numerical perspective to begin 
with. Do you have something in mind here?

E

Reply via email to