# fp-speculation, Qfp-speculation

Tells the compiler the mode in which to speculate on floating-point operations.

## Syntax

Linux: | -fp-speculation=mode

macOS: | -fp-speculation=mode

Windows: | /Qfp-speculation:mode

## Arguments

mode | Is the mode for floating-point operations. Possible values are:
fast | Tells the compiler to speculate on floating-point operations.
safe | Tells the compiler to disable speculation if there is a possibility that the speculation may cause a floating-point exception.
strict | Tells the compiler to disable speculation on floating-point operations.
off | This is the same as specifying strict. This feature is only available for ifort.

## Default

-fp-speculation=fast or/Qfp-speculation:fast | The compiler speculates on floating-point operations. This is also the behavior when optimizations are enabled. However, if you specify no optimizations (-O0 on Linux*; /Od on Windows*), the default is -fp-speculation=safe (Linux*) or /Qfp-speculation:safe (Windows*).

## Description

This option tells the compiler the mode in which to speculate on floating-point operations.

Disabling speculation may prevent the vectorization of some loops containing conditionals. For an example, see the article titled: Diagnostic 15326: loop was not vectorized: implied FP exception model prevents vectorization, which is located in https://software.intel.com/content/www/us/en/develop/articles/fdiag15326.html .

## IDE Equivalent

Visual Studio: Optimization > Floating-Point Speculation

Eclipse: Floating Point > Floating-Point Speculation

Xcode: Floating Point > Floating-Point Speculation

## Alternate Options

None

Parent topic: Floating-Point Options