Disagree here. 

Denormals for double give you an extra range of about 2^50, but you could 
easily get 2^500 extra range by processing at higer gain, double precision goes 
up to 2^1024, so lots of headroom there. 
A much better way to increase dynamic range would be some way to specify the 
exponent bias, far more valuable than faster denormal processing.
Also, I have not yet seen an audio algorithm where the extra precision of 
denormals would make any difference or be audible, so I am perfectly happy with 
DAZ/FTZ.

Stefan


> On 27. Mar 2023, at 17:27, robert bristow-johnson <[email protected]> 
> wrote:
> 
> Thanks for the info, Ethan and Andreas.
> 
> Well, that's what FPUs did before.  There's little use for denorms if you set 
> DAZ and FTZ to 1.  Then it's like denorms never existed.
> 
> I can't believe it would take much additional real estate on the chip to just 
> make denorms work like any other float in the same instruction cycle.  Either 
> way, the full mantissa *with* the hidden 1 (or without the hidden 1 for 
> denorms) has to go into a wide register with a barrel shifter.  It should not 
> require any additional instruction clocks.
> 
> I think denorms are a good idea. They should be handled routinely by now.
> 
> L8r,
> 
> robert
> 
> Powered b y Cricket Wireless
> 
> ------ Original message------
> From: Ethan Fenn
> Date: Mon, Mar 27, 2023 10:02 AM
> To: [email protected];
> Cc: 
> Subject:Re: Are there now 64-bit processors that deal with denorms routinely 
> with no exception or interrupt?
> 
> My understanding is that on any reasonably modern Intel/AMD machines, you 
> just have to make sure that the Flush To Zero (FTZ) and Denormals Are Zero 
> (DAZ) hardware flags are set when your DSP code runs and there will be no 
> penalty. If you're building a standalone application, these are usually set 
> by default. If you're building s ome kind of plugin or library, I think it's 
> good practice to put in a couple lines of code at your entry point to make 
> sure they're set before doing any DSP.
> 
> -Ethan
> 
> 
> 
> On Mon, Mar 27, 2023 at 7:41 AM Andreas Gustafsson <[email protected]> 
> wrote:
> robert bristow-johnson asked:
> > If there are processors with FPUs that don't deal with denorms and
> > cause an exception, I would be interested in knowing who the black
> > sheep and the white sheep are.
> 
> Is your concern that the exception or interrupt will cause the program
> to abort, or just that it will be slow?  Denormals can have a performance
> penalty even if no interrupt or exception is involved, for example
> when they are handled in microcode.
> 
> On x86_64, denormals typically do not cause floating point exceptions
> (unless you specifically ask for it by clearing the DM bit in MXCSR),
> but they can nonetheless have a significant performance penalty.
> 
> OTOH, the Apple M1 ARM processor appears to deal with denormals
> without a performance penalty.
> 
> > I know that 25 years ago, exceptions caused by denorms (and maybe
> > NaNs) were a headache for some audio DSP coders.  Are denorms still
> > a problem where you have to force them to flush-to-zero so to not
> > trip an exception?
> 
> At least on x86_64, they are still a performance problem if you have
> any exponential decays that can reach the denormal range.
> -- 
> Andreas Gustafsson, [email protected]

Reply via email to