プロセッサ固有の最適化(IA-32のみ)

-x{i|M|K|W}オプションは、プログラムを実行するプロセッサ用の必要最小限のプロセッサ命令セットを指定することにより、プログラムを特定のIA-32プロセッサ上で動作するようにします。生成するコードには、指定したプロセッサ命令の無条件の使用を取り込めます。インテル® C++ コンパイラには、-x{i|M|K|W} オプションの gcc* 互換バージョンが含まれています。"gcc バージョン"の欄に、これらのオプションの一覧を示します。

オプション gcc* バージョン 最適化の対象
-xi -march=pentiumpro インテル® Pentium® Pro プロセッサと Pentium II プロセッサ(CMOVFCMOV およびFCOMI命令を使用)
-xM -march=pentiumii MMX® テクノロジ Pentium プロセッサ(iの命令セットは含まない)
-xK -march=pentiumiii ストリーミングSIMD拡張命令( iMの命令セットを含む)対応 Pentium III プロセッサ
-xW -march=pentium4 ストリーミングSIMD拡張命令2(iM、および 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
}を使用してコンパイルされたプログラムを、指定された命令セットをサポートしていないプロセッサ上で実行すると、不正命令例外か、他の予期しない動作が発生する場合があります。