インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

fp-speculation、Qfp-speculation

浮動小数点演算のスペキュレーションを行うモードをコンパイラーに指示します。

構文

Linux* および macOS*:

-fp-speculation=mode

Windows*:

/Qfp-speculation:mode

引数

mode

浮動小数点演算のモード。設定可能な値は以下のとおりです。

fast

浮動小数点演算のスペキュレーションを有効にするようにコンパイラーに指示します。

safe

スペキュレーションによって浮動小数点例外が起こる可能性がある場合は、スペキュレーションを無効にするようにコンパイラーに指示します。

strict

浮動小数点演算のスペキュレーションを無効にするようにコンパイラーに指示します。

off

これは、strict と同じです。

デフォルト

-fp-speculation=fast
または /Qfp-speculation:fast

コンパイラーは、浮動小数点演算のスペキュレーションを行います。これは、最適化が有効な場合の動作でもあります。ただし、最適化なし (Linux* では -O0、Windows* では /Od) を指定する場合、デフォルトは -fp-speculation=safe (Linux*) または /Qfp-speculation:safe (Windows*) です。

説明

このオプションは、浮動小数点演算のスペキュレーションを行うモードをコンパイラーに指示します。

スペキュレーションを無効にすると、条件文を含む一部のループのベクトル化が妨げられる可能性があります。例は、記事「Diagnostic 15326: loop was not vectorized: implied FP exception model prevents vectorization (診断 15326: ループはベクトル化されませんでした: ベクトル依存関係がベクトル化を妨げています。)」 (https://software.intel.com/en-us/articles/fdiag15326 (英語)) を参照してください。

IDE オプション

Visual Studio*: [Optimization (最適化)] > [Floating-Point Speculation (浮動小数点のスペキュレーション)]

Eclipse*: [Floating Point (浮動小数点)] > [Floating-Point Speculation (浮動小数点のスペキュレーション)]

Xcode*: [Floating Point (浮動小数点)] > [Floating-Point Speculation (浮動小数点のスペキュレーション)]

代替オプション

なし