ループをベクトル化しないよう指定します。
#pragma novector |
なし
novector プラグマは、ループのベクトル化が有効な場合でもループをベクトル化しないことを示します。一方、ループのベクトル化の回避が望ましい場合 (ベクトル化によりパフォーマンスが向上せずに劣化する場合)、novector プラグマをソーステキストで使用し、ループのベクトル化を無効にします。この動作は、vector always プラグマと対照的です。
例: novector プラグマの使用
トリップカウント (ub - lb) が低すぎるためベクトル化を行う価値がないことがわかっている場合、novector プラグマを使用して、ループのベクトル化が可能であってもベクトル化しないようにコンパイラーに指示することができます。
void foo(int lb, int ub)
{
#pragma novector
for(j=lb; j<ub; j++)
{
a[j]=a[j]+b[j];
}
}