http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59651
--- Comment #4 from belagod at gcc dot gnu.org --- Thanks for looking at this. Just to clarify, do you mean loop versioning happens in the up-counting loop? Because in the down-counting loop, a partition seems to be happening with 2 iterations of the loop getting vectorized and the remaining 2 are left scalar.