http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59249
--- Comment #4 from Bingfeng Mei <bmei at broadcom dot com> --- Even I split one critical predecessor edge, predicate of BB6 is still ORed result of two conditions from BB4 & BB5. ORing two conditions results in a sequence of statements that cannot be vectorized. Vectorizer complains of "bit-precision arithmetic not supported" because of boolean operations. Not sure how to transform the code except reverting back to a form similar to pre jump-threading.