Я изучаю векторизацию и не знаю, почему этот код векторизован:
for (i=0; i<N; i++)
Y[i] = X[index [i]];
, а это не так:
for (i=0; i<N; i++)
X[index [i]]= Y[i];
Я компилирую с https://godbolt.org/ x86 gcc с опцией -O3.
Почему GCC не векторизует цикл рассеяния?