パフォーマンス上の利点がある場合、複数のプロセッサー固有のコードを生成するようにコンパイラーに指示します。
Windows: [Optimization (最適化)] > [Use Intel(R) Processor Extensions (インテル(R) プロセッサー拡張コードの使用)]
Linux: [Code Generation (コード生成)] > [Use Intel(R) Processor Extensions (インテル(R) プロセッサー拡張コードの使用)]
Mac OS X: [Optimization (最適化)] > [Use Intel(R) IA-32 Instruction Set Extensions (インテル(R) IA-32 命令セット拡張の使用)]
IA-32 アーキテクチャー、インテル(R) 64 アーキテクチャー
Linux* および Mac OS* X: | -axprocessor |
Windows*: | /Qaxprocessor |
processor | 最適化されたコードパスの対象となるプロセッサーまたはマイクロアーキテクチャーを指定するための値です。設定可能な値は以下のとおりです。 | |
S | インテル(R) ストリーミング SIMD 拡張命令 4 (SSE4) のベクトル化コンパイラー命令およびメディア・アクセラレーター命令を使用して、これらの命令セットをサポートする将来のインテル(R) プロセッサー向けに専用のコードパスを生成して、最適化できます。 | |
T | インテル・プロセッサー向けに SSSE3、SSE3、SSE2、および SSE 命令専用のコードパスを生成して、インテル(R) Core(TM)2 Duo プロセッサー・ファミリー向けに最適化します。 | |
P | インテル・プロセッサー向けに SSE3、SSE2、および SSE 命令専用のコードパスを生成して、インテル Core マイクロアーキテクチャーおよび Intel NetBurst(R) マイクロアーキテクチャーをベースとするインテル・プロセッサー向けに最適化します。 | |
B | 古いオプション (非推奨) です。インテル・プロセッサー向けに SSE2 および SSE 命令専用のコードパスを生成して、インテル(R) Pentium(R) M プロセッサー向けに最適化します。 | |
N | インテル・プロセッサー向けに SSE2 および SSE 命令専用のコードパスを生成して、インテル Pentium 4 プロセッサーおよび SSE2 をサポートするインテル(R) Xeon(R) プロセッサー向けに最適化します。 | |
W | インテル・プロセッサー向けに SSE2 および SSE 命令専用のコードパスを生成して、インテル Pentium 4 プロセッサーおよび SSE2 をサポートするインテル Xeon プロセッサー向けに最適化します。 | |
K | インテル・プロセッサー向けに SSE 命令専用のコードパスを生成して、インテル Pentium III プロセッサーおよび SSE2 をサポートするインテル Pentium III Xeon プロセッサー向けに最適化します。 |
オフ | -x オプション (Linux および Mac OS X) または /Qx オプション (Windows) によって制御される場合を除き、プロセッサー専用コードは生成されません。 |
このオプションは、パフォーマンス上の利点がある場合、プロセッサー固有のコードを複数生成するようにコンパイラーに指示します。また、IA-32 アーキテクチャーの汎用コードパスも生成します。通常は、汎用コードの方が専用コードよりも実行速度は遅くなります。
汎用コードパスは、-x オプション (Linux および Mac OS X) または /Qx オプション (Windows) によって決定されます。-x オプションまたは /Qx オプションのデフォルトは使用しているオペレーティング・システムに依存しますが、デフォルトよりも高度なアーキテクチャーを指定することもできます。指定されるアーキテクチャーは、汎用コードパス向けの最小アーキテクチャーとなります。
-ax と -x オプション (Linux および Mac OS X) または /Qax と /Qx オプション (Windows) の両方を指定した場合、-x または /Qx オプションで指定されたプロセッサーの種類と互換性のあるプロセッサーでのみ実行できる汎用コードが生成されます。
ベクトライザーを有効にし、指定したインテル・プロセッサーに対して、機能性が向上する関数を個別に生成できる箇所を検出するように、コンパイラーに指示します。
固有の関数バージョンを生成できることが判明した場合、コンパイラーはそれがパフォーマンスの向上につながるかどうかをチェックします。パフォーマンスが向上すると判明した場合、コンパイラーはプロセッサー固有のバージョンと汎用バージョンの関数を生成します。プログラムの実行時に、使用されているインテル・プロセッサーに応じて、この 2 つのバージョンのどちらを実行するかが選択されます。この方法により、プログラムは従来のプロセッサーとの互換性を保ちながら、最新のインテル・プロセッサー上でパフォーマンスを大幅に向上できます。
2 つ以上の processor 値を組み合わせて使用できます。例えば、インテル Core 2 Duo プロセッサーおよび SSE3 をサポートするインテル Pentium 4 プロセッサー向けのコードを生成するには、-axTP (Linux および Mac OS X) または /QaxTP (Windows) を指定します。
IA-64 アーキテクチャー・ベースの Linux および Windows システムでは、processor 値 B、N、および K は無効です。
IA-32 アーキテクチャー・ベースの Mac OS X システムでは、processor 値 S、T、および P のみ有効です。インテル 64 アーキテクチャー・ベースの Mac OS X システムでは、processor 値 S および T のみ有効です。
なし
x、Qx コンパイラー・オプション