[linux-audio-dev] swh plugins and fixing undenormalize

Steve Harris S.W.Harris at ecs.soton.ac.uk
Thu Jun 24 12:58:48 UTC 2004


On Thu, Jun 24, 2004 at 01:20:34 +0200, Clemens Ladisch wrote:
> The IEEE standard specifies exactly what happens with denormals, so,
> in theory, the compiler must not optimize this away.  However,
> optimization options for speed often disable strict IEEE
> compatibility.  (I don't know how gcc's options behave.)

If you use -ffast-math then it note reuiqred to maintin strict IEEE
semantics. Its a lot faster for some operations if you do.
 
> > typedef union {
> >         float f;
> >         int32_t i;
> > } ls_pcast32;
> 
> AFAIK this isn't safe either because the same type aliasing rules
> apply to unions, too.  The only safe way is to go through char
> pointers.

OK, thats interesting. I though it was OK, in that compiler is required to
make &v.f == &v.i, where sizeof(v.f) == sizeof(v.i)? Maybe I misunderstood.

In any case my code is full of gcc-isms, I doubt it would build on any
signifiantly different compiler.

- Steve



More information about the Linux-audio-dev mailing list