> 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