インテル(R) コンパイラーは、異なるアーキテクチャーにおいてさまざまな精度と予測とともに、浮動小数点演算を最適化するオプションを提供します。ここでは、このようなコンパイラー・オプションを示し、サポートするアーキテクチャーとオペレーティング・システムに関する情報を提供します。
Linux* および Mac OS* X |
Windows* |
説明 |
---|---|---|
IA-32、インテル(R) 64、および IA-64 アーキテクチャー |
||
-fp-model |
/fp |
浮動小数点演算で使用されるセマンティクスを指定します。値は、precise、fast、strict、source、double、extended、except です。safe および except には拡張の値があります。
|
-fp-speculation |
/Qfp-speculation |
浮動小数点演算のスペキュレーション・モードを指定します。値は、fast、safe、strict、off です。
|
-prec-div |
/Qprec-div |
精度の高い浮動小数点除算を使用します。浮動小数点除算の範囲および精度を維持することが重要な場合は、このオプションを使用して除算の最適化を無効にしてください。このオプションを使用すると、精度は上がりますが、若干パフォーマンスが落ちます。 -no-prec-div (Linux および Mac OS X) または /Qprec-div- (Windows) を指定した場合、完全な IEEE 準拠の除算よりも多少精度が低い最適化が有効になります。
|
相当するオプションなし |
/Qlong-double |
long double データ型のデフォルトサイズを変更します。 |
-complex-limited-range |
/Qcomplex-limited-range |
COMPLEX 型のデータを使用するいくつかの算術演算で、基本代数展開の使用を有効にします。このオプションを使用すると、COMPLEX 型の算術を多く使用するプログラムにおいてパフォーマンスが向上する場合があります。ただし、指数範囲の極値が正しく計算されない可能性があります。
|
-ftz |
/Qftz |
デフォルトの動作はアーキテクチャーによって異なります。詳細は、各トピックを参照してください。
|
IA-32 およびインテル(R) 64 アーキテクチャー |
||
-prec-sqrt |
/Qprec-sqrt |
平方根の精度を上げますが、このオプションを使用すると多少速度に影響する場合があります。
|
-pc |
/Qpc |
浮動小数点の仮数部の精度を変更します。アプリケーションのコンパイル時に使用してください。 アプリケーションでは、エントリーポイントとして main() を使用していなければなりません。このオプションで main() が含まれるソースファイルをコンパイルする必要があります。
|
-rcd |
/Qrcd |
浮動小数点から整数への変換における丸めモードの変更を無効にします。
|
-fp-port |
/Qfp-port |
代入時およびキャスト時に、浮動小数点値をソースの精度に丸めます。
|
-mp1 |
/Qprec |
このオプションは、比較の前に、ソースプログラムで指定された精度に浮動小数点値を丸めます。また、-prec-div と -prec-sqrt (Linux および Mac OS X) または /Qprec-div と /Qprec-sqrt (Windows) を使用することを意味します。このオプションは、-fp-model precise (Linux および Mac OS X) または /fp:precise (Windows) オプションよりも禁止される最適化処理が少なく、パフォーマンスに与える影響も小さくなります。
|
IA-64 アーキテクチャーのみ |
||
-IPF-fma |
/QIPF-fma |
浮動小数点積和/積差演算の 1 つの演算への縮約を有効または無効にします。
|
-IPF-fp-speculation |
/QIPF-fp-speculation |
推奨されていないオプション (古いオプション)。浮動小数点演算のスペキュレーションを有効にするようにコンパイラーに指示します。代わりに、-fp-speculate (Linux および Mac OS X) または /Qfp-speculate (Windows) を使用してください。
|
-IPF-fp-relaxed |
/QIPF-fp-relaxed |
sqrt() 関数や divide 演算のような算術関数で、より高速な、しかし多少精度が低いコードシーケンスを使用します。厳密な IEEE* 精度と比較した場合、このオプションを使用すると、そのような関数による浮動小数点演算精度が少し低くなります (通常は、最下位の桁に制限されます)。
|