For applications that require inexact result exceptions, the default compiler behavior must be changed by using the /QAieee2 switch. The Windows NT behavior can then be changed to enable inexact result exceptions by calling _ _controlfp(O, _EM_INEXACT). Underflow exceptions can then be disabled by calling _ _controlfp(_EM_INEXACT, _EM_INEXACT). Both cases cause the worst floating-point performance because even when exceptions are disabled, each inexact calculation requires software support, and most floating-point operations in a typical operation are inexact.
The underflow status bit is set when a floating-point operation underflows. The status bit is set regardless of whether the underflow exception is masked or unmasked. Having the status bit set does not result in underflow exceptions on subsequent floating-point instructions. For compatibility with other types of processors, however, you should clear the bit with _ _clearfp() when underflow exceptions are unmasked.