Developer Guide and Reference

Contents

Setting the FTZ and DAZ Flags

In Intel® processors, the flush-to-zero (
FTZ
) and
denormals
-are-zero (
DAZ
) flags in the
MXCSR
register are used to control floating-point calculations. Intel® Streaming SIMD Extensions (Intel® SSE) and Intel® Advanced Vector Extensions (Intel® AVX) instructions, including scalar and vector instructions, benefit from enabling the
FTZ
and
DAZ
flags. Floating-point computations using the Intel® SSE and Intel® AVX instructions are accelerated when the
FTZ
and
DAZ
flags are enabled. This improves the application's performance.
Use the
[Q]ftz
option to flush
denormal
results to zero when the application is in the gradual underflow mode. This option may improve performance if the
denormal
values are not critical to the application's behavior. The
[Q]ftz
option, when applied to the main program, sets the
FTZ
and the
DAZ
hardware flags. The negative forms of the
[Q]ftz
option (
-no-ftz
for Linux* and macOS*, and
/Qftz-
for Windows*) leave the flags as they are.
The following table describes how the compiler processes
denormal
values based on the status of the
FTZ
and
DAZ
flags:
Flag
When set to ON, the compiler...
When set to OFF, the compiler...
Supported on
FTZ
...sets
denormal
results from floating-point calculations to zero.
...does not change the
denormal
results.
Inte