3.17 条件付き終了の非ベクトル化

ベクトル化の目的上、ループからの条件付き終了を含まないループを記述することが最善です。

以下の例は、ループからの条件付き終了が含まれているのでベクトル化できません。このような場合、ベクトル化を行うために(可能であれば)ループを書き直す必要があります。
int a[99], b[99], c[99], i, n;
...
for (i = 0; i < n; i++)
{
     a[i] = b[i] + c[i];
     if (a[i] > 5) break;
};
関連する概念
3.16 ポインタおよび間接アドレス指定を含むループの非ベクトル化
3.15 ポインタを含むループのベクトル化
3.14 ベクタのスカラへの縮退
3.13 キャリーアラウンドスカラ変数とベクトル化
3.12 コードをベクトル化するときのデータの依存関係による競合
3.9 NEON ベクトル化によるパフォーマンスに影響を与える要因
3.23 条件付きステートメントと効率的なベクトル化
関連する参考文書
3.11 ベクトル化のために推奨されるループ構造
3.10 NEON ベクトル化によるパフォーマンスの目標
8.192 --vectorize、--no_vectorize
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.