Sun Studio 12 Update 1: C++ ユーザーズガイド

A.2.187 -xvector[= a]

ベクタライブラリ関数の呼び出しの自動生成や、SIMD (Single Instruction Multiple Data) 命令の生成ができます。このオプションを使用するときは -fround=nearest を指定することによって、デフォルトの丸めモードを使用する必要があります。

a は、次の指定と同じです。

表 A–52 -xvector のフラグ

値 

意味  

[no%]lib

(Solaris のみ)コンパイラは可能な場合はループ内の数学ライブラリへの呼び出しを、同等のベクトル数学ルーチンへの単一の呼び出しに変換します [しません]。大きなループカウントを持つループでは、これによりパフォーマンスが向上します。

[no%]simd

コンパイラはネイティブ x86 SSE SIMD 命令を使用して特定のループのパフォーマンスを向上させます [させません]。ターゲットアーキテクチャーが SIMD 命令をサポートする場合にのみ、コンパイラはこのスイッチを受け入れることができます。たとえば、-xarch=amd64-xarch=amd64a、または -xarch=generic64 を指定する必要があります。また、-xvector=simd を指定する場合は、-xO3 以上の最適化レベルと -xdepend を指定する必要もあります。

yes

このオプションは、非推奨です。代わりに、-xvector=lib を指定します。

no

このオプションは、非推奨です。代わりに、-xvector=none を指定します。

A.2.187.1 デフォルト

デフォルトは -xvector=%none です。-xvector をフラグなしで指定した場合、コンパイラは -xvector=lib とみなします。

相互の関連性

あらかじめ -xdepend を指定せずにコマンド行で -xvector を使用すると、-xvector-xdepend を呼び出します。また、最適化レベルが指定されないか、-xO3 以下で設定されている場合は、最適化レベルが -xO3 に上げられます。

コンパイラは、リンク時に libmvec ライブラリを取り込みます。

コンパイルとリンクを別々のコマンドで実行する場合は、リンク時の CC コマンドに必ず -xvector を使用してください。「3.3.3 コンパイル時とリンク時のオプション」に、コンパイル時とリンク時の両方に指定する必要があるオプションの全一覧をまとめています。