src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp
changeset 52675 7d3cde494494
parent 51966 2a2a78bd1fc3
child 58356 feff88c68082
equal deleted inserted replaced
52674:c9325aa887da 52675:7d3cde494494
   290 
   290 
   291 
   291 
   292 bool LIRGenerator::strength_reduce_multiply(LIR_Opr left, int c, LIR_Opr result, LIR_Opr tmp) {
   292 bool LIRGenerator::strength_reduce_multiply(LIR_Opr left, int c, LIR_Opr result, LIR_Opr tmp) {
   293   assert(left != result, "should be different registers");
   293   assert(left != result, "should be different registers");
   294   if (is_power_of_2(c + 1)) {
   294   if (is_power_of_2(c + 1)) {
   295     __ shift_left(left, log2_intptr(c + 1), result);
   295     __ shift_left(left, log2_int(c + 1), result);
   296     __ sub(result, left, result);
   296     __ sub(result, left, result);
   297     return true;
   297     return true;
   298   } else if (is_power_of_2(c - 1)) {
   298   } else if (is_power_of_2(c - 1)) {
   299     __ shift_left(left, log2_intptr(c - 1), result);
   299     __ shift_left(left, log2_int(c - 1), result);
   300     __ add(result, left, result);
   300     __ add(result, left, result);
   301     return true;
   301     return true;
   302   }
   302   }
   303   return false;
   303   return false;
   304 }
   304 }