この記事は、インテル® デベロッパー・ゾーンに掲載されている「New Vectorization Diagnostics starting from Intel(R) C++ Compiler 15.0」(https://software.intel.com/en-us/articles/vectorization-diagnostics-for-intelr-c-compiler-150-and-above) の日本語参考訳です。
インテル® Fortran コンパイラーのベクトル化診断についてはこちらを参照してください。
診断番号 | 診断の説明 |
診断 15304 | ループはベクトル化されませんでした: マルチバージョンのベクトル化できないループ・インスタンスです。 |
診断 15541 | 外部ループは自動ベクトル化されませんでした: SIMD ディレクティブの使用を検討してください。 |
診断15319 | ループはベクトル化されませんでした: novector ディレクティブが使用されています。 |
診断15331 | xxxx はベクトル化されませんでした: コマンドラインまたはディレクティブにより暗黙に示された precise FP モデルがベクトル化を妨げています。fast FP モデルの使用を検討してください。 |
診断15335 | xxxx はベクトル化されませんでした: ベクトル化は可能ですが非効率です。オーバーライドするには vector always ディレクティブまたは -vec-threshold0 を使用してください。 |
診断15344 | ループはベクトル化されませんでした: ベクトル依存関係がベクトル化を妨げています。 |
診断15378 | xxxx はベクトル化されませんでした: -ffreestanding オプションが整数除算/剰余のベクトル化を妨げています。 |
診断15414 | ループはベクトル化されませんでした: 最適化後に xxxx 本体が空になったため、ベクトル化するものがありません。 |
診断15517 | インライン・アセンブリーで EBX/RBX レジスターが使用されているため、このサブルーチンのループはベクトル化できません。 |
診断15521 | ループはベクトル化されませんでした: ループの制御フローを単純化したり、ループ外部で反復数を計算してください。 |
診断15523 | ループはベクトル化されませんでした: ループ外部でループの反復数を計算できません。 |
診断15524 | xxxx はベクトル化されませんでした: すべてのメモリー参照をアライメントされたベクトルロードにできなければ検索ループはベクトル化できません。 |
診断15527 | ループはベクトル化されませんでした: xxxx への関数呼び出しはベクトル化できません。 |
診断15535 | xxxx はベクトル化されませんでした: ループに switch 文が含まれています。if-else 文の使用を検討してください。 |
診断15537 | ループはベクトル化されませんでした: 暗黙の FP 例外モデルが、切り捨てまたは整数除算/剰余に必要な SVML ライブラリーの使用を妨げています。コンパイラー・オプションやソースのディレクティブを変更して、fast FP モデルを有効にし、FP をマスクすることを検討してください。 |
診断15542 | xxxx はベクトル化されませんでした: 内部ループがすでにベクトル化されています。 |
診断15511 | ベクトルバージョン 'xxxx' (関数 'xxxx'、位置 <val>) の引数が不足しています。 |
診断15509 | ベクトルバージョン 'xxxx' (関数 'xxxx'、位置 <val>) の引数が無関係です。 |
診断15513 | ベクトルバージョン 'xxxx' (関数 'xxxx'、位置 <val>) の mask 引数の型が正しくありません。 |
診断15487 | 型変換: xxxx |
診断15476 | スカラーループのコスト: xxxx |
コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。