インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
特定のプロセッサー向けの最適化を実行しますが、(-march とは違い) 拡張命令セットは使用しません。
Linux* および macOS*: | -mtune=processor |
Windows*: | /tune:processor |
processor |
このプロセッサー向けにコンパイラーは最適化を行います。設定可能な値は以下のとおりです。
|
generic |
コンパイラーのデフォルト動作向けのコードが生成されます。 |
このオプションは、特定のプロセッサー向けの最適化を実行しますが、(-march とは違い) 拡張命令セットは使用しません。
作成される実行ファイルは下位互換ですが、生成されるコードは特定のプロセッサー向けに最適化されます。例えば、-mtune=core2 または /tune:core2 で生成されたコードは、第 4 世代インテル® Core™ プロセッサー上でも正しく実行されますが、-mtune=haswell または /tune:haswell で生成されたコードよりも実行速度が遅い可能性があります。-mtune=haswell (/tune:haswell) または -mtune=core-avx2 (/tune:core-avx2) で生成されたコードは、インテル® Core™2 プロセッサーでも正しく実行されますが、-mtune=core2 または /tune:core2 で生成されたコードよりも実行速度が遅い可能性があります。-march=core-avx2 または /arch:core-avx2 で生成されたコードは、インテル® Core™2 プロセッサーなどの古いプロセッサーでは正しく実行されません。
Visual Studio*: [Code Generation [Intel C++] (コード生成 [インテル® C++])] > [Intel Processor Microarchitecture-Specific Optimization (マイクロアーキテクチャー固有の最適化)]
Eclipse*: [Code Generation (コード生成)] > [Intel Processor Microarchitecture-Specific Optimization (マイクロアーキテクチャー固有の最適化)]
Xcode*: [Code Generation (コード生成)] > [Intel Processor Microarchitecture-Specific Optimization (マイクロアーキテクチャー固有の最適化)]
-mtune |
Linux*: -mcpu (これは古いオプションです) macOS*: なし Windows*: なし |
最適化に関する注意事項 |
---|
インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリーミング SIMD 拡張命令 2、インテル® ストリーミング SIMD 拡張命令 3、インテル® ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロセッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。 注意事項の改訂 #20110804 |