https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113678
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Noticed the same with: ``` void f(unsigned char *a, unsigned char *b, unsigned char *c) { unsigned char t[8]; t[0] = a[0]; t[1] = a[1]; t[2] = a[2]; t[3] = a[3]; t[4] = b[0]; t[5] = b[1]; t[6] = b[2]; t[7] = b[3]; c[0] = t[0]; c[1] = t[1]; c[2] = t[2]; c[3] = t[3]; c[4] = t[4]; c[5] = t[5]; c[6] = t[6]; c[7] = t[7]; } ``` Adding `-fno-tree-vectorize` gives the best code even.