インテル(R) コンパイラー固有のプラグマ

インテル(R) C++ コンパイラーには、以下の固有のプラグマがあります。詳細は、プラグマをクリックしてください。

プラグマ 説明

alloc_section

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

distribute_point

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

intel_omp_task

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

intel_omp_taskq

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

ivdep

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

loop_count

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

memref_control

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

novector

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

optimize

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

optimization_level

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

parallel

並列化しても安全な場合、ループを並列化します。

prefetch/noprefetch

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

swp/noswp

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

unroll/nounroll

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

unused

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

vector

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

 

インテル C++ コンパイラーでは、以下のプラグマも利用可能です。

 

プラグマ 説明

point

ループ分配のためのポイントを示します。

file

SCO プラグマ。ident プラグマと似ています。オブジェクトファイルの .comment セクションに任意の文字列を格納します。

intrin_limited_domain

浮動小数点プラグマ。intrin_limited_domain 浮動小数点属性をオンまたはオフに設定します。

linkage

リンクの種類を指定します。リンクの種類により、関数がレジスターのセットをどのように使用するかが決定されます。HP 互換。

count

トリップカウントを推定します (ベクトル化のヒント)。

maintain_errno

浮動小数点プラグマ。maintain_errno 浮動小数点属性をオンまたはオフに設定します。

noparallel

OpenMP プラグマ。直後に続く DO ループの自動並列化を無効にします。

options

GCC 互換 (MacOS) のプラグマ。構造内のフィールドのアライメントを設定します。

pointer_size

HP 互換。参照およびポインター/関数/配列宣言のポインターサイズ割り当てを制御します。プラグマは DISABLED です。

compute

ソフトウェア・ベースのスペキュレーティブ・プリコンピュテーション (SSP) プラグマ。

speculate

SSP プラグマ。SPECULATE とマークされているコードブロックで SSP を有効にします。

thread

SSP プラグマ。

system_header

GCC 互換。現在のファイルの残りのコードをシステムヘッダーのコードとして処理します。

tail_dup

ループの末端重複をオンまたはオフにします。

use_linkage

HP 互換。指定したリンクと関数を関連付けます。

working_directory

SCO プラグマ。file プラグマと似ています。