http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50037

--- Comment #2 from Ilya Enkovich <enkovich.gnu at gmail dot com> 2011-08-10 
15:33:22 UTC ---
I wouldn't blame vectorizer here. Following loop is unrolled with unroll factor
8 even if vectorizer is disabled:

for ( count = ((*(hdrptr)) & 0x3) * 2; count > 0; count--, addr++ )
    sum += *addr;

BTW prologue loops generated by vectorizer also compute iterations count using
'AND' expression. Therefore we may frequently get prologue loops unrolled which
is never profitable if we use such huge unroll factor.

Reply via email to