インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

新しいオプション

このトピックでは、本リリースで新しく追加されたオプションの一覧を示します。

特に表記がない場合、そのオプションはサポートされているすべてのシステムで利用可能です。

オプションの欄に "のみ" とある場合、そのオプションは明記されたシステムでのみ利用可能です。

オプションについての詳細は、各オプションの説明を参照してください。

この表で使用されている表記については、「表記規則」を参照してください。

新しいコンパイラー・オプションは、次の表にリストされています。

Windows* オプション

説明

デフォルト

/Qcf-protection[:keyword]

脆弱性を悪用する特定の攻撃からプログラムを保護する Control-flow Enforcement Technology (CET) を有効にします。このオプションは、CET を試験的にサポートします。

/Qcf-protection:none

/Qimf-force-dynamic-target[:funclist]

数学関数の呼び出しでランタイム・ディスパッチを使用するようにコンパイラーに指示します。

オフ

/Qimf-use-svml:value[:funclist]

インテルの数学ライブラリー (LIBM) の代わりに、SVML (Short Vector Math Library) を使用して数学ライブラリー関数を実装するようにコンパイラーに指示します。

false

/Qopt-zmm-usage:keyword

zmm レジスターの使用レベルを定義します。

それぞれ異なる

/Qstringop-inline-threshold:val

関数で扱うバイト数がコンパイル時に分かっており、それが指定された値よりも大きい場合、memcall のような関数 (memcpy、memset) 呼び出しをインライン展開しないようにコンパイラーに指示します。

オフ

/Qstringop-strategy:alg

memcall のような関数 (memcpy、memset) を実装する際に、特定のアルゴリズムで使用される内部決定ヒューリスティックをオーバーライドします。

それぞれ異なる

Linux* および macOS* オプション

説明

デフォルト

-fimf-force-dynamic-target[=funclist]

数学関数の呼び出しでランタイム・ディスパッチを使用するようにコンパイラーに指示します。

オフ

-fimf-use-svml=value[:funclist]

インテルの数学ライブラリー (LIBM) の代わりに、SVML (Short Vector Math Library) を使用して数学ライブラリー関数を実装するようにコンパイラーに指示します。

false

-intel-freestanding-target-os=os

コンパイルのターゲット・オペレーティング・システムを指定します。

オフ

-mstringop-inline-threshold=val

関数で扱うバイト数がコンパイル時に分かっており、それが指定された値よりも大きい場合、memcall のような関数 (memcpy、memset) 呼び出しをインライン展開しないようにコンパイラーに指示します。

オフ

-mstringop-strategy=alg

memcall のような関数 (memcpy、memset) を実装する際に、特定のアルゴリズムで使用される内部決定ヒューリスティックをオーバーライドします。

それぞれ異なる

-prof-gen-sampling (Linux* のみ)

デバッグ出力でデバッグ識別子を生成するようにコンパイラーに指示します。これは、より正確なサンプル・プロファイルの生成を支援します。

オフ

-prof-use-sampling=list (Linux* のみ)

ハードウェア・プロファイルによって生成されたデータファイルを使用して、最適化された実行ファイルを生成します。

オフ

-qcf-protection[=keyword]

脆弱性を悪用する特定の攻撃からプログラムを保護する Control-flow Enforcement Technology (CET) を有効にします。このオプションは、CET を試験的にサポートします。

-qcf-protection=none

-qopt-zmm-usage=keyword

zmm レジスターの使用レベルを定義します。

それぞれ異なる

最適化に関する注意事項

インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリーミング SIMD 拡張命令 2、インテル® ストリーミング SIMD 拡張命令 3、インテル® ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロセッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。

注意事項の改訂 #20110804