-x (Linux*) または /Qx (Windows*) オプションは、プログラムを特定のインテル(R) プロセッサー向けに最適化します。生成されるコードには、他のプロセッサーではサポートされない機能を無条件に使用するものもあります。
Windows |
Linux |
最適化の対象となるプロセッサー |
---|---|---|
/QxK |
-xK |
インテル(R) Pentium(R) III プロセッサーおよび互換性のあるインテル・プロセッサー |
/QxW |
-xW |
インテル Pentium 4 プロセッサーおよび互換性のあるインテル・プロセッサー。インテル(R) EM64T 対応システムのデフォルト |
/QxN |
-xN |
ストリーミング SIMD 拡張命令 2 (SSE2) をサポートするインテル Pentium 4 プロセッサーおよび互換性のあるインテル・プロセッサー |
/QxB |
-xB |
インテル Pentium M プロセッサーおよび互換性のあるインテル・プロセッサー |
/QxP |
-xP |
インテル(R) Core(TM) Duo プロセッサーおよびインテル Core Solo プロセッサー、ストリーミング SIMD 拡張命令 3 (SSE3) をサポートするインテル Pentium 4 プロセッサーおよび互換性のあるインテル・プロセッサー |
インテル EM64T 対応システムでは、有効な processor 値は W および P のみです。Mac OS* を実行しているインテル・プロセッサー・ベースのシステムでは、有効な processor 値は P のみです。SSE2 または SSE3 をサポートするプロセッサーで N または P を指定すると、他のプロセッサーではサポートされない機能を無条件に使用するコードが生成されます。
上の表のオプションに関する詳細は、次のトピックを参照してください。
-x コンパイラー・オプション
次の例では、インテル Pentium 4 および互換性のあるプロセッサー向けにアプリケーションをコンパイルします。生成されるバイナリーは、インテル Pentium プロセッサー、インテル Pentium Pro プロセッサー、インテル Pentium II プロセッサー、インテル Pentium III プロセッサー、MMX(R) テクノロジー インテル Pentium プロセッサー、およびインテル以外から提供されている x86 プロセッサー上では正常に実行されない可能性があります。
プラットフォーム |
例 |
---|---|
Linux |
icpc -xW prog.cpp |
Windows |
icl /QxW prog.cpp |
-x (Linux) または /Qx (Windows) を使用してコンパイルされたプログラムを、互換性のないプロセッサー上で実行すると、不正な命令例外や他の予期しない動作が発生することがあります。-xN、-xB、-xP のいずれか (Linux)、/QxN、/QxB、/QxP のいずれか (Windows) を使用してコンパイルされたプログラムを、サポートされていないプロセッサー上で実行すると、次のようなランタイムエラーが表示されます。
Fatal Error : This program was not built to run on the processor in your system.