Hello!
> 0. Gradual underflow control is implemented as "not supported by the
> processor" (its SUPPORT
> function returns false, and the GET and SET procedures abort if you call
> them). That’s explicitly
> allowed by the standard, so it’s not actually “missing". We can improve on
> this in the future, if
> people can help.
Please look at libgcc/config/i386/crtfastmath.c for how to set
MXCSR_FTZ from mxcsr. You already have all necessary bits in place,
the function is basically only:
+ if (has_sse())
+ {
+ unsigned int cw_sse;
+
+ __asm__ __volatile__ ("%vstmxcsr\t%0" : "=m" (cw_sse));
+ cw_sse |= MXCSR_DAZ;
+ __asm__ __volatile__ ("%vldmxcsr\t%0" : : "m" (cw_sse));
+ }
Please note, that FTZ applies only to SSE math. x87 and (IIRC) soft-FP
don't handle this setting.
Uros.