単純な配列コピーをベクトル化したいと思います。配列は、サイズのintを持つfloat*として渡されます。事前にサイズを確認してから、コピーを実行します。
int i;
float *vec;
float *tab;
for(i = x->x_start; i < x->x_end; i++)
vec[i] = tab[i];
この非常に単純なステートメントをいじってみましたが、自動ベクトル化することができないようです。効果を出さrestrict
ないようにして、遊んだ__builtin_assume_aligned(vec, 16)