https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106375
--- Comment #3 from Hongtao.liu <crazylht at gmail dot com> --- Similar case for scalar types. void foo1 (double* p, double* __restrict q) { for (int i = 0; i != 1000; i+=2) { p[i] = q[i]; p[i+1] = q[i+1]; } }