インテル® C++ コンパイラー 16.0 ユーザー・リファレンス・ガイド
関数レベルで、特定のプロセッサー専用コードを生成するようにコンパイラーに指示します。-m (/arch) オプションに似ています。
Linux* および OS X*:
#pragma intel optimization_parameter target_arch=<CPU> |
Windows*:
#pragma [intel] optimization_parameter target_arch=<CPU> |
intel optimization_parameter target_arch プラグマは、関数レベルで -m (/arch) オプションの設定を制御し、コマンドラインで指定されたオプションの値よりも優先されます。
特定の命令セット用のコードを生成するようにコンパイラーに指示するには、関数の先頭に #pragma intel optimization_parameter target_arch=<CPU> を追加します。これは -m (/arch) および [Q]x オプションと動作が似ていますが、指定した関数にのみ適用されます。
インテル® アドバンスト・ベクトル・エクステンション (インテル® AVX) 用のコードを生成する例 |
---|
icc -mAVX foo.c // Linux* および OS X* で EDG コンパイラーを使用する場合 icl -mAVX foo.c // OS X* で CLANG コンパイラーを使用する場合 |
インテル® アドバンスト・ベクトル・エクステンション (インテル® AVX) 用の関数を生成する例 |
---|
#pragma intel optimization_parameter target_arch=AVX void bar() { ... } |
上記のコードは、指定されたコマンドライン・オプションに関係なく、関数 bar に対してのみインテル® AVX 用のコードを生成します。