< prev index next >

src/share/vm/c1/c1_LIRGenerator.cpp

Print this page

        

*** 546,557 **** case Bytecodes::_imul: { bool did_strength_reduce = false; if (right->is_constant()) { ! int c = right->as_jint(); ! if (is_power_of_2(c)) { // do not need tmp here __ shift_left(left_op, exact_log2(c), result_op); did_strength_reduce = true; } else { did_strength_reduce = strength_reduce_multiply(left_op, c, result_op, tmp_op); --- 546,557 ---- case Bytecodes::_imul: { bool did_strength_reduce = false; if (right->is_constant()) { ! jint c = right->as_jint(); ! if (c > 0 && is_power_of_2(c)) { // do not need tmp here __ shift_left(left_op, exact_log2(c), result_op); did_strength_reduce = true; } else { did_strength_reduce = strength_reduce_multiply(left_op, c, result_op, tmp_op);
< prev index next >