-x{i|M|K|W}オプションは、プログラムを実行するプロセッサ用の必要最小限のプロセッサ命令セットを指定することにより、プログラムを特定のIA-32プロセッサ上で動作するようにします。生成するコードには、指定したプロセッサ命令の無条件の使用を取り込めます。インテル® C++ コンパイラには、-x{i|M|K|W} オプションの gcc* 互換バージョンが含まれています。"gcc バージョン"の欄に、これらのオプションの一覧を示します。
オプション | gcc* バージョン | 最適化の対象 |
---|---|---|
-xi | -march=pentiumpro | インテル® Pentium® Pro プロセッサと Pentium II プロセッサ(CMOV、FCMOV およびFCOMI命令を使用) |
-xM | -march=pentiumii | MMX® テクノロジ Pentium プロセッサ(iの命令セットは含まない) |
-xK | -march=pentiumiii | ストリーミングSIMD拡張命令( i とMの命令セットを含む)対応 Pentium III プロセッサ |
-xW | -march=pentium4 | ストリーミングSIMD拡張命令2(i、M、および K の命令セットを含む)対応 Pentium 4 プロセッサおよびインテル® Xeon™ プロセッサ |
下記は、Kの命令セットをサポートするプロセッサ用に prog.c をコンパイルします。最適化されたバイナリ・ファイルを正常に実行させるには、インテル Pentium III プロセッサ、Pentium 4 プロセッサまたはインテル Xeon プロセッサ上で行う必要があります。Pentium プロセッサ、Pentium Pro プロセッサ、Pentium II プロセッサまたは MMX テクノロジ Pentium プロセッサでは、正常に実行されない可能性があります。
prompt> icc -xK prog.c
注意
-x{i|M|K|W}を使用してコンパイルされたプログラムを、指定された命令セットをサポートしていないプロセッサ上で実行すると、不正命令例外か、他の予期しない動作が発生する場合があります。