複数のアーキテクチャーの浮動小数点オプション

ここで説明されているオプションは、IA-32、インテル(R) EM64T、およびインテル(R) Itanium(R) アーキテクチャーの浮動小数点演算でさまざまな精度の最適化を提供します。オプションがすべてのアーキテクチャーでサポートされていない場合、説明欄でサポートされているアーキテクチャーを示します。

表のオプションを使用すると、アプリケーションのパフォーマンスが低下する可能性があります。一般に、アプリケーションのパフォーマンスを向上させるには、浮動小数点の精度を多少犠牲にする必要があります。

ここで説明されている浮動小数点オプションは、浮動小数点演算でさまざまな精度の最適化を提供します。-O0 (Linux*) または /Od (Windows*) は、これらの最適化を無効にします。

Windows

Linux

説明

/fp

-fp-model

浮動小数点演算で使用されるセマンティクスを指定します。

デフォルトのモデルは fast で、浮動小数点演算を行うときに強力な最適化を有効にします。これらの最適化は速度を向上させますが、浮動小数点演算の精度に多少影響します。

異なるモデルおよび例の詳細な説明については、次のトピックを参照してください。

  • -fp-model コンパイラー・オプション

/Op

-mp

浮動小数点の最適化を制限し、宣言された精度を維持します。このオプションを使用すると、実行速度が多少遅くなる場合があります。代わりに、-fp-model (Linux) または /fp (Windows) オプションを使用してください。

IA-32 およびインテル EM64T

  • 一般に、オプションは、宣言された精度ではなく最大の精度を維持します。

詳細は、次のトピックを参照してください。

  • -mp コンパイラー・オプション

-fp-model (Linux) または /fp (Windows) は、このオプションに影響を与えます。

/Qprec

-mp1

浮動小数点の精度を向上させます。このオプションは、パフォーマンスへの影響が小さく、-fp-model precise (Linux) または /fp:precise (Windows) オプションよりも禁止される最適化処理が少なくなります。

このオプションは、コンパイラーが NaN 比較セマンティクスを変更する最適化を行わないようにします。また、比較を行う前に、比較で使用するすべての値を、宣言された精度に切り捨てます。また、このオプションはライブラリー・ルーチンを使用して X87 超越命令より精度の高い結果を提供します。このオプションを指定すると、インテル・コンパイラーは高精度な除算および平方根演算を使用します。

-fp-model precise (Linux) または /fp:precise (Windows) オプションはこのオプションが有効であることを意味しますが、-fp-model fast (Linux) または /fp:fast (Windows) はこのオプションを無効にします。ただし、同じコマンドラインで両方のオプションが指定された場合、-fp-model fast (Linux) または /fp:fast (Windows) はこのオプションを無視しません。

詳細は、次のトピックを参照してください。

  • -mp1 コンパイラー・オプション