浮動小数点オプションのクイック・リファレンス

インテル(R) コンパイラーは、異なるアーキテクチャーにおいてさまざまな精度と予測とともに、浮動小数点演算を最適化するオプションを提供します。ここでは、このようなコンパイラー・オプションを示し、サポートするアーキテクチャーとオペレーティング・システムに関する情報を提供します。

IA-32、インテル(R) 64、および IA-64 アーキテクチャー

Linux* および Mac OS* X

Windows*

説明

-fp-model

/fp

浮動小数点演算で使用されるセマンティクスを指定します。値は、precisefast [=1/2]strictsourcedoubleextended[no-]exceptexcept[-] です。

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

-fp-speculation

/Qfp-speculation

浮動小数点演算のスペキュレーション・モードを指定します。値は、fastsafestrictoff です。

-prec-div

/Qprec-div

精度の高い浮動小数点除算を使用します。浮動小数点除算の範囲および精度を維持することが重要な場合は、このオプションを使用して除算の最適化を無効にしてください。このオプションを使用すると、精度は上がりますが、若干パフォーマンスが落ちます。

-no-prec-div (Linux および Mac OS X) または /Qprec-div- (Windows) を指定する場合、完全な IEEE 準拠の除算よりも多少精度が低い最適化が有効になります。

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

-complex-limited-range

/Qcomplex-limited-range

COMPLEX 型のデータを使用するいくつかの算術演算で、基本代数展開の使用を有効にします。このオプションを使用すると、COMPLEX 型の算術を多く使用するプログラムにおいてパフォーマンスが向上する場合があります。ただし、指数範囲の極値が正しく計算されない可能性があります。

-ftz

/Qftz

デフォルトの動作はアーキテクチャーによって異なります。詳細は、各トピックを参照してください。

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

-fpe

/fpe

デフォルトでは、Fortran コンパイラーはすべての浮動小数点例外を無効にし、浮動小数点アンダーフローは漸次アンダーフローです。

このオプションは、どの例外がコンパイラーによって有効にされるかを制御します。また、浮動小数点アンダーフローが漸次アンダーフローか突発アンダーフローかも制御します。

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

IA-32 およびインテル(R) 64 アーキテクチャー

Linux および Mac OS X

Windows

説明

-prec-sqrt

/Qprec-sqrt

平方根の精度を上げますが、このオプションを使用すると多少速度に影響する場合があります。

-pc

/Qpc

浮動小数点の仮数部の精度を変更します。アプリケーションのコンパイル時に使用してください。

アプリケーションでは、エントリーポイントとして PROGRAM を使用していなければなりません。このオプションで PROGRAM が含まれるソースファイルをコンパイルする必要があります。

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

-rcd

/Qrcd

浮動小数点から整数への変換における丸めモードの変更を無効にします。

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

-fp-port

/Qfp-port

代入時およびキャスト時に、浮動小数点値をソースの精度に丸めます。

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

-mp1

/Qprec

このオプションは、比較の前に、ソースプログラムで指定された精度に浮動小数点値を丸めます。また、-prec-div-prec-sqrt (Linux および Mac OS X) または /Qprec-div/Qprec-sqrt (Windows) を使用することを意味します。

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

IA-64 アーキテクチャーのみ:

Linux

Windows

説明

-IPF-fma

/QIPF-fma

浮動小数点積和/積差演算の 1 つの演算への縮約を有効または無効にします。

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

-IPF-fp-relaxed (古いオプション)

/QIPF-fp-relaxed (古いオプション)

sqrt() 関数や divide 演算のような算術関数で、より高速な、しかし多少精度が低いコードシーケンスを使用します。厳密な IEEE* 精度と比較した場合、このオプションを使用すると、そのような関数による浮動小数点演算精度が少し低くなります (通常は、最下位の桁に制限されます)。これは古いオプションです。