インテル® C++ コンパイラー XE 13.1 ユーザー・リファレンス・ガイド
インテル® コンパイラー固有のプラグマ・リファレンスで説明されているインテル固有の C++ コンパイラー・プラグマを以下にリストします。
一部のプラグマはインテル製マイクロプロセッサーおよび互換マイクロプロセッサーで利用可能ですが、インテル製マイクロプロセッサーにおいてより多くの最適化が行われる場合があります。
詳細は、プラグマをクリックしてください。
プラグマ |
説明 |
---|---|
指定したセクションに変数を割り当てます。 |
|
cilk_for ループで処理される 1 回あたりの反復のサイズ (粒度サイズ) を指定します。 |
|
指定された位置でループ分配を行うようにコンパイラーに指示します。 |
|
問題の呼び出しをインライン展開するようにコンパイラーに指示します。 |
|
インテルの以前のタスク用に、潜在的に異なるスレッドで実行される作業単位を指定します。 |
|
インテルの以前のタスク用に、潜在的に異なるスレッドで実行される作業単位を指定します。 |
|
ベクトル依存性が存在していると推定されてもそれを無視するようにコンパイラーに指示します。 |
|
予測されるループカウントを示します。 |
|
ループが隣接するループと融合されないようにします。 |
|
ループをベクトル化しないように指定します。 |
|
プラグマに続く文をターゲットで実行します。このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。 |
|
プラグマの後で宣言された関数と変数がすべてコプロセッサーで利用可能であることを示します。このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。 |
|
非同期データ転送を開始するか、同期データ転送を開始し完了します。このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。 |
|
開始した非同期処理を待つように指定します。このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。 |
|
特定のメモリー位置をアトミックに更新し、複数のスレッドが同時に読み取り/書き込みを行う危険性を回避します。 |
|
タスク領域を定義します。 |
|
特定の関数の最適化を有効または無効にします。Microsoft* の optimize プラグマの実装とある程度の互換性があります。 |
|
現在のタスクが開始してから生成された子タスクの完了まで待機するように指定します。 |
|
このプラグマから別の最適化プラグマまたは翻訳単位の最後に到達するまで最適化を有効または無効にします。 | |
コンパイル単位の現在の行からの最適化の変更を示します。 |
|
関数レベルで、特定のプロセッサー専用コードを生成するようにコンパイラーに指示します。-m (/arch) オプションに似ています。 |
|
直後のループの自動並列化を促します。キーワード [always] を使用すると、コンパイラーは強制的に自動並列化を行います。noparallel プラグマを使用した場合は自動並列化は行われません。 |
|
データ・プリフェッチをメモリー参照用に生成するかどうかを指定します。このプラグマは、インテル® MIC アーキテクチャーにのみ適用されます。 |
|
ループをベクトル化するようにコンパイラーに指示します。 |
|
ループアンロール回数またはループをアンロールしない回数をコンパイラーに指示します。 |
|
より外側のループを部分的にアンロールして、結果として残ったループをジャムします。nounroll_and_jam プラグマを指定すると、ループのアンロールとジャムは行われません。 |
|
未使用の変数を示します (警告メッセージは生成されません)。 |
|
ループを引数 (always/aligned/unaligned/nontemporal/temporal) に従ってベクトル化するようにコンパイラーに指示します。 |