ax、Qax

パフォーマンス上の利点がある場合、プロセッサー固有のコードを生成するようにコンパイラーに指示します。また、汎用 IA-32 コードも生成します。

IDE オプション

Windows: [C/C++] > [Optimization (最適化)] > [Use Intel(R) Processor Extensions (インテル(R) プロセッサー拡張コードの使用)]

Linux: [Code Generation (コード生成)] > [Use Intel(R) Processor Extensions (インテル(R) プロセッサー拡張コードの使用)]

Mac OS: なし

アーキテクチャー

IA-32、インテル(R) EM64T

構文

Linux* および Mac OS*: -axprocessor
Windows*:  /Qaxprocessor

引数

processor プログラムを実行するプロセッサー。設定可能な値は以下のとおりです。
  K インテル(R) Pentium(R) III プロセッサーおよび互換性のあるインテル・プロセッサー向けに最適化されます。
  W インテル Pentium 4 プロセッサーおよび互換性のあるインテル・プロセッサー向けに最適化されます。
  N インテル Pentium 4 プロセッサーおよび互換性のあるインテル・プロセッサー向けに最適化されます。
このオプションは、インテル・プロセッサー固有の最適化に加えて、新しい最適化も有効にします。
  B インテル Pentium M プロセッサーおよび互換性のあるインテル・プロセッサー向けに最適化されます。
このオプションは、インテル・プロセッサー固有の最適化に加えて、新しい最適化も有効にします。
  P インテル(R) Core(TM) Duo プロセッサー、インテル Core Solo プロセッサー、ストリーミング SIMD 拡張命令 3 (SSE3) をサポートするインテル Pentium 4 プロセッサー、ストリーミング SIMD 拡張命令 2 (SSE2) をサポートする互換性のあるインテル・プロセッサー向けにコードが最適化されます。このオプションは、インテル・プロセッサー固有の最適化に加えて、新しい最適化も有効にします。

デフォルト

Windows および Linux: オフ
Mac OS: -xP
Windows および Linux では、コンパイラーはプロセッサー固有のコードを生成しません。Mac OS システムでは、インテル Core Duo プロセッサーおよび ストリーミング SIMD 拡張命令 3 (SSE3) をサポートするインテル Pentium 4 プロセッサー向けにコードが最適化されます。

説明

このオプションは、パフォーマンス上の利点がある場合、プロセッサー固有のコードを生成するようにコンパイラーに指示します。また、汎用 IA-32 コードも生成します。通常は、汎用コードの方が専用コードよりも実行速度は遅くなります。

ベクトライザーを有効にし、指定したインテル(R) プロセッサーに対して、機能性が向上する関数を別個に生成できる箇所を検出するように、コンパイラーに指示します。

固有の関数バージョンを生成できることが判明した場合、コンパイラーはそれがパフォーマンスの向上につながるかどうかをチェックします。パフォーマンスが向上すると判明した場合、コンパイラーはプロセッサー固有のバージョンと汎用バージョンの関数を生成します。汎用バージョンは、あらゆる IA-32 プロセッサー上で実行できます。

プログラムの実行時に、使用されているインテル・プロセッサーに応じて、この 2 つのバージョンのどちらを実行するかが選択されます。この方法により、プログラムは従来の IA-32 プロセッサーとの互換性を保ちながら、最新のインテル・プロセッサー上でパフォーマンスを大幅に向上できます。

インテル EM64T 対応システムでは、有効な processor 値は W および P のみです。

Mac OS システムでは、有効な processor 値は P のみです。これらのシステムでは、-axP-xP に相当します。このオプションはデフォルトで、常に設定されます。

2 つ以上の processor 値を組み合わせて使用できます。例えば、インテル Pentium 4 プロセッサーおよびインテル Pentium M プロセッサー向けのコードを生成するには、-axNB (Linux) または /QaxNB (Windows) を指定します。

-ax-x オプション (Linux) または /Qax/Qx オプション (Windows) の両方を指定した場合、-x または /Qx オプションで指定されたプロセッサーの種類と互換性のあるプロセッサーでのみ実行できる汎用コードが生成されます。

代替オプション

なし

関連情報

x コンパイラー・オプション