デフォルトのコンパイラの最適化

コンパイラ・オプションを指定せずにインテル® Fortran コンパイラを起動する場合は、各オプションのデフォルトが有効です。次の表は、インテル Fortran コンパイラのデフォルト実行に必要とされるデフォルトがオンのオプションをまとめたものです。表は、機能別にオプションをまとめています。

すべてのオプションのデフォルト状態と値に関する詳細は、『インテル® Fortran コンパイラ・オプション・クイック・リファレンス・ガイド』の「アルファベット順クイック・リファレンス 」の表を参照してください。 表には、オプションの機能を説明したセクションへのリンクが含まれます。オプションにデフォルト値がある場合には、その値が示されます。

アプリケーションの要件に応じて、1 つまたは複数のオプションを無効にできます。最適化を無効にする一般的な方法については、Vol I を参照してください。

次の表は、コンパイラがデフォルトの最適化で使用するすべてのオプションをリストしています。

データ設定と Fortran 言語準拠

デフォルトのオプション

説明

-align records

変数と配列のメモリ・レイアウトを分析し、再整理します。

-align rec8byte

アライメント条件として 8 バイト境界を指定します。

-altparam

パラメータ定数宣言代替形式を識別します。

-ansi_alias

プログラムの ANSI 準拠の前提を有効にします。

-assume cc_omp

OpenMP 条件付きコンパイル・ディレクティブを有効にします。

-ccdefault default

ユニット 6 および * のデフォルトのキャリッジ制御を指定します。

-double_size 64

DOUBLE PRECISION 型の宣言、定数、関数、および組込み関数を REAL*8 として定義します。

-dps

DEC* パラメータ文の認識を有効にします。

-error_limit 30

エラーレベルまたは致命的なエラーレベルのコンパイラ・エラーの最大数を指定します。

-fpe3

メイン・プログラム用の実行時の浮動小数点例外処理を指定します。

-integer_size 32

デフォルトの INTEGER および LOGICAL 変数の長さは 4 バイトです。INTEGER 宣言および LOGICAL 宣言は、(KIND=4) として扱われます。

-pad

変数と配列のメモリ・レイアウトの変更を有効にします。

-pc80
IA-32 のみ

-pc{32|64|80} は、浮動小数点の仮数部の精度の制御を次のように有効にします: -pc32 では 24 ビットの仮数部、 -pc64 では 53 ビットの仮数部、 -pc80 では 64 ビットの仮数部。

-real_size 64

REAL および COMPLEX の宣言、定数、関数、および組込み関数のサイズを指定します。

-save

すべての変数を保存します (静的割り当て)。すべての変数を AUTOMATIC に設定する
-auto
を無効にします。

-Zp8

-Zpn は、構造体に、1、2、4、8、または 16 バイトの境界整列条件を指定します。無効にするには、-noalign または -Zp1 を使用します。

最適化

デフォルトのオプション

説明

-assume cc_omp

OpenMP 条件付きコンパイル・ディレクティブを有効にします。

-fp
IA-32 のみ

最適化で ebp レジスタの使用を無効にします。すべての関数について ebp ベースのスタックフレームを使用するように指示します。

-fpe3

メイン・プログラムのランタイム時の浮動小数点例外処理を制御します。オプションを無効にするには -fpe0 を使用します。

-IPF_fltacc-
Itanium® コンパイラ

コンパイラが浮動小数点の精度に影響を及ぼす最適化を適用します。

-IPF_fma
Itanium コンパイラ

浮動小数点積和/積差演算を 1 つの演算命令で行うことを有効にします。

-IPF_fp_speculation
fast

Itanium コンパイラ

コンパイラが浮動小数点演算をスぺキュレーションするよう設定します。-IPF_fp_speculationoff は、このスペキュレーションを無効にします。

-O, -O2

最大速度の最適化を行います。

-openmp_report1

並列化されたループ、領域、およびセクションを示す診断を表示します。

-opt_report_levelmin

最適化レポートの最小レベルを指定します。

-par_report1

正常に自動並列化されたループを表示します。

-tpp2
Itanium コンパイラ

インテル® Itanium® 2 プロセッサ向けに Itanium ベース・アプリケーションのコードを最適化します。生成されたコードは、Itanium プロセッサと互換性があります。

-tpp7
IA-32 のみ

インテル® Pentium® 4 プロセッサおよびインテル® Xeon™ プロセッサ向けに IA-32 アプリケーションのコードを最適化します。

-unroll

-unroll[n]: n を省略すると、アンロールを実行するかどうかをコンパイラが判断します。 (デフォルト)
n を使用して、ループのアンロール回数の上限を設定します。
Itanium ®コンパイラは、現在、互換性に n = 0、-unroll0 (無効オプション) のみを使用します。

-vec_report1

正常にベクトル化されたループを示します。

デフォルトのオプションを無効にする

オプションを無効にするには、次のいずれかを使用します。

ifort -O2 -O0 input_file(s)


-O0 オプションは -O0-O-O1-O2、および -O3 を含む相互排他的なオプション・グループの一部です。同じオプション・グループのオプションを 2 つ以上指定した場合、コマンドラインで最後に指定したオプションが、その前に指定したオプションよ りも優先されます。


コマンドライン上に、オプションを有効にするバージョンと無効にするバージョンの両方がある場合、最後に指定したバージョンが優先されます。