https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112579
--- Comment #2 from liuhongt at gcc dot gnu.org --- Got vectorized after change source code to unsigned foo (unsigned * restrict s, unsigned qh, unsigned * restrict qs) { unsigned int sumi = 0; sumi += (qh >> 16); sumi += (qh >> 1); sumi += (qh >> 2); sumi += (qh >> 3); sumi += (qh >> 4); sumi += (qh >> 5); sumi += (qh >> 6); sumi += (qh >> 7); sumi += (qh >> 8); sumi += (qh >> 9); sumi += (qh >> 10); sumi += (qh >> 11); sumi += (qh >> 12); sumi += (qh >> 13); sumi += (qh >> 14); sumi += (qh >> 15); return sumi; }