ベクタライブラリ関数の呼び出しの自動生成や、SIMD (Single Instruction Multiple Data) 命令の生成ができます。このオプションを使用するときは -fround=nearest を指定することによって、デフォルトの丸めモードを使用する必要があります。
a は、次の指定と同じです。
表 B–41 -xvector のフラグ
値 |
意味 |
---|---|
[no%]lib |
コンパイラは可能な場合はループ内の数学ライブラリへの呼び出しを、同等のベクトル数学ルーチンへの単一の呼び出しに変換します [しません]。大きなループカウントを持つループでは、これによりパフォーマンスが向上します。 |
[no%]simd |
コンパイラはネイティブ x86 SSE SIMD 命令を使用して特定のループのパフォーマンスを向上させます [させません]。ターゲットアーキテクチャーが SIMD 命令をサポートする場合にのみ、コンパイラはこのスイッチを受け入れることができます。たとえば、-xarch=amd64、-xarch=amd64a、または -xarch=generic64 を指定する必要があります。また、-xvector=simd を指定する場合は、-xO3 以上の最適化レベルと -xdepend を指定する必要もあります。 |
yes |
このオプションは、将来のリリースでは推奨されません。代わりに、-xvector=lib を指定します。 |
no |
このオプションは、将来のリリースでは推奨されません。代わりに、-xvector=none を指定します。 |
デフォルトは -xvector=%none です。-xvector をフラグなしで指定した場合、コンパイラは -xvector=lib とみなします。
あらかじめ -xdepend を指定せずにコマンド行で -xvector を指定すると、-xdepend が自動的に呼び出されます。また、最適化レベルが指定されないか、-x03 以上でない場合は、最適化レベルが -x03 に上げられます。
コンパイラは、リンク時に libmvec ライブラリを取り込みます。コンパイルとリンクを別々のコマンドで実行する場合は、リンク時の CC コマンドに必ず -xvector を使用してください。表 A–2 に、コンパイル時とリンク時の両方に指定する必要があるコンパイラオプションの全一覧をまとめています。