インテル® コンパイラー固有のプラグマ

インテル® コンパイラー固有のプラグマ・リファレンスで説明されているインテル固有の C++ コンパイラー・プラグマを以下にリストします。詳細は、プラグマをクリックしてください。

プラグマ

説明

alloc_section

指定したセクションに変数を割り当てます。

distribute_point

指定された位置でループ分配を行うようコンパイラーに指示します。

intel_omp_task

潜在的に異なるスレッドで実行される作業単位を指定します。

intel_omp_taskq

潜在的に異なるスレッドで実行される作業単位を指定します。

ivdep

ベクトル依存性が存在していると推定されてもそれを無視するようコンパイラーに指示します。

loop_count

ループカウントが整数であることを示します。

memref_control

さまざまなレベルのロード・レイテンシーの制御方法を提供します。

novector

ループをベクトル化しないよう指定します。

optimize

特定の関数の最適化を有効または無効にします。Microsoft* の optimize プラグマの実装とある程度の互換性があります。

optimization_level

特定の関数の最適化を制御できるようにします。

parallel/noparallel

直後の DO ループの自動並列化を促します。キーワード [always] を使用すると、コンパイラーは強制的に自動並列化を行います。noparallel プラグマを使用した場合は自動並列化は行われません。

prefetch/noprefetch

データ・プリフェッチをメモリー参照用に生成するかどうかを指定します。

swp/noswp

swp は、ソフトウェアのパイプライン化が行われるループの優先度を示します。noswp は、ソフトウェアのパイプライン化が行われないループを示します。

unroll/nounroll

ループアンロール回数またはループをアンロールしない回数をコンパイラーに指示します。

unroll_and_jam/nounroll_and_jam

より外側のループを部分的にアンロールして、結果として残ったループをジャムします。nounroll_and_jam プラグマを指定すると、ループのアンロールとジャムは行われません。

unused

未使用の変数を示します (警告メッセージは生成されません)。

vector

ループを引数 (always/aligned/unaligned/nontemporal/temporal) に従ってベクトル化するようにコンパイラーに指示します。