http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51499
--- Comment #13 from fb.programming at gmail dot com 2011-12-12 14:20:58 UTC --- (In reply to comment #9) > So, you are suggesting to remove the need in flag_associative_math for fp for > cases when a reduction computation is already unrolled by the vectorization > factor. Sounds reasonable to me. Yes I think that's it, basically only require flag_associative_math if the order of summation or products is changed by the vectorizer. That is quite important I think, as most of the time -ffast-math / -funsafe-math-optimizations / -fassociative-math might not be acceptable for many projects. However, I don't fully understand Richard Guenther's example. Yes his example requires -fassociative-math to be vectorized, however, my example would translate to something like sum1 += a[i]; sum2 += a[i+1]; and now it doesn't matter if it's executed this way or the other way around sum2 += a[i+1]; sum1 += a[i]; Second issue is just to double check the profitability calculation as it wrongly decided: 7: not vectorized: vectorization not profitable.