--- old/src/share/vm/opto/loopTransform.cpp 2015-02-24 15:29:57.585859166 +0100 +++ new/src/share/vm/opto/loopTransform.cpp 2015-02-24 15:29:57.436098611 +0100 @@ -2032,7 +2032,7 @@ // Hopefully, compiler will optimize for powers of 2. Node *ctrl = get_ctrl(main_limit); Node *stride = cl->stride(); - Node *init = cl->init_trip(); + Node *init = cl->init_trip()->uncast(); Node *span = new SubINode(main_limit,init); register_new_node(span,ctrl); Node *rndup = _igvn.intcon(stride_con + ((stride_con>0)?-1:1));