MSDN の自動ベクトル化ページを読んだだけですが、どのループがベクトル化されるのか正確にはわかりません。
MSDNブログでは、自動ベクトル化できるループの例を以下に示します。
const int N = 1000;
float a[N], b[N];
// Initialize a[i] = i; b[i] = 100 + i
int main()
{
for (int n = 0; n < N; ++n) a[n] += b[n];
}
私は通常、n != N
イディオムをn < N
;とは対照的に使用します。それは OpenMP のように重要ですか? または、自動ベクトル化は関係なく機能しますか?