http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50037
--- Comment #8 from Ilya Enkovich <enkovich.gnu at gmail dot com> 2011-08-15 09:06:18 UTC --- This patch did not work for me. Tried on following loop (-O2 -funroll-loops): for ( count = ((*(hdrptr)) & 0x7); count > 0; count--, addr++ ) sum += *addr; No multiplication by 2 but still have the same unroll. I also was hoping this patch would prevent unroll of prologue loop generated by vectorizer.It uses '& 7' expression for iterations computation but this loop also uses MIN expression to limit number of iteration and is still unrolled.