インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

novector

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

構文

#pragma novector

引数

なし

説明

novector プラグマは、ループのベクトル化が有効な場合でもループをベクトル化しないことを示します。一方、ループのベクトル化の回避が望ましい場合 (ベクトル化によりパフォーマンスが向上せずに劣化する場合)、novector プラグマをソーステキストで使用し、ループのベクトル化を無効にします。この動作は、vector always プラグマと対照的です。

novector プラグマの使用例

void foo(int lb, int ub) {
  #pragma novector
  for(j=lb; j<ub; j++) { a[j]=a[j]+b[j]; } 
}

反復回数 (ub - lb) が低すぎるためベクトル化を行う価値がない場合、novector プラグマを使用して、ループのベクトル化が可能であってもベクトル化しないようにコンパイラーに指示することができます。

関連情報