--- old/src/share/vm/opto/loopUnswitch.cpp 2015-06-25 14:11:30.643727100 -0700 +++ new/src/share/vm/opto/loopUnswitch.cpp 2015-06-25 14:11:30.433706100 -0700 @@ -61,6 +61,12 @@ if (!_head->is_Loop()) { return false; } + + // check for vectorized loops, any unswitching was already applied + if (_head->is_CountedLoop() && _head->as_CountedLoop()->ignore_slp()) { + return false; + } + int nodes_left = phase->C->max_node_limit() - phase->C->live_nodes(); if ((int)(2 * _body.size()) > nodes_left) { return false; // Too speculative if running low on nodes.