Systems based on the Alpha processor do not support denormal values in hardware. The use of denormal values slows these systems because the denormal values must be calculated in software.
To get maximum floating-point performance for applications that do not deal with these extremely small numbers, these denormal values are rounded to zero by default when they first occur. This behavior is the default of both the compiler and Windows NT.
For applications that require denormal values, the default compiler behavior must be changed by using the /QAieee switch, and the Windows NT default behavior must be changed by calling _ _controlfp(DN_SAVE_MCW_DN).
Prior to Windows NT 5.0, only denormal results were rounded to zero. Starting with Windows NT 5.0, both denormal input operands and denormal results are rounded to zero. Both denormal input operands and denormal results are preserved by calling _ _controlfp(_DN_SAVE, _MCW_DN). You can restore the pre-Windows NT 5.0 behavior by calling _ _controlfp(_DN_SAVE_OPERANDS_FLUSH_RESULTS, _mcw_dn). The opposite behavior can be created by calling _ _controlfp(_DN_FLUSH_OPERANDS_SAVE_RESULTS, _MCW_DN).
Neither saving input operands and flushing results nor saving results and flushing input operands are used in practice. They are only provided for completeness.