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.

Reply via email to