プラグマは、特定のケースにコンパイラーへ指示を与える宣言子です。例えば、novector プラグマを使用して、ループをベクトル化しないように指示できます。C++ 言語では #pragma が標準ですが、各プラグマはマシンに依存したり、オペレーティング・システムに依存し、コンパイラーによっても異なります。
いくつかのプラグマは、コンパイラー・オプションと同じ機能を提供します。また、プラグマは、コンパイラー・オプションで指定された動作を無効にします。
次の構文を使用して、C++ ソースコードにプラグマを挿入します。
#pragma <pragma name>
vector always 宣言子は、ベクトル化するかどうかを決定する際、効率ヒューリスティックを無効にするようコンパイラーに指示します。そして 1 以外のストライドまたはほとんどアライメントの合っていないメモリーアクセスをベクトル化します。
vector always 宣言子の例
#pragma vector always
for(i=0; i<=N; i++)
{
a[32*i]=b[99*i];
}