src/hotspot/cpu/ppc/c1_LIRGenerator_ppc.cpp
changeset 51966 2a2a78bd1fc3
parent 50380 bec342339138
child 52675 7d3cde494494
equal deleted inserted replaced
51965:358a3b99198a 51966:2a2a78bd1fc3
   533   switch (tag) {
   533   switch (tag) {
   534     case floatTag:
   534     case floatTag:
   535     case doubleTag: do_ArithmeticOp_FPU(x);  return;
   535     case doubleTag: do_ArithmeticOp_FPU(x);  return;
   536     case longTag:   do_ArithmeticOp_Long(x); return;
   536     case longTag:   do_ArithmeticOp_Long(x); return;
   537     case intTag:    do_ArithmeticOp_Int(x);  return;
   537     case intTag:    do_ArithmeticOp_Int(x);  return;
   538   }
   538     default: ShouldNotReachHere();
   539   ShouldNotReachHere();
   539   }
   540 }
   540 }
   541 
   541 
   542 
   542 
   543 // _ishl, _lshl, _ishr, _lshr, _iushr, _lushr
   543 // _ishl, _lshl, _ishr, _lshr, _iushr, _lushr
   544 void LIRGenerator::do_ShiftOp(ShiftOp* x) {
   544 void LIRGenerator::do_ShiftOp(ShiftOp* x) {
   733         LIR_Opr dst = rlock_result(x);
   733         LIR_Opr dst = rlock_result(x);
   734         __ sqrt(value.result(), dst, LIR_OprFact::illegalOpr);
   734         __ sqrt(value.result(), dst, LIR_OprFact::illegalOpr);
   735         break;
   735         break;
   736       } // else fallthru
   736       } // else fallthru
   737     }
   737     }
       
   738     case vmIntrinsics::_dsin:   // fall through
       
   739     case vmIntrinsics::_dcos:   // fall through
       
   740     case vmIntrinsics::_dtan:   // fall through
       
   741     case vmIntrinsics::_dlog:   // fall through
   738     case vmIntrinsics::_dlog10: // fall through
   742     case vmIntrinsics::_dlog10: // fall through
   739     case vmIntrinsics::_dlog: // fall through
       
   740     case vmIntrinsics::_dsin: // fall through
       
   741     case vmIntrinsics::_dtan: // fall through
       
   742     case vmIntrinsics::_dcos: // fall through
       
   743     case vmIntrinsics::_dexp: {
   743     case vmIntrinsics::_dexp: {
   744       assert(x->number_of_arguments() == 1, "wrong type");
   744       assert(x->number_of_arguments() == 1, "wrong type");
   745 
   745 
   746       address runtime_entry = NULL;
   746       address runtime_entry = NULL;
   747       switch (x->id()) {
   747       switch (x->id()) {
   748       case vmIntrinsics::_dsqrt:
   748         case vmIntrinsics::_dsqrt:
   749         runtime_entry = CAST_FROM_FN_PTR(address, SharedRuntime::dsqrt);
   749           runtime_entry = CAST_FROM_FN_PTR(address, SharedRuntime::dsqrt);
   750         break;
   750           break;
   751       case vmIntrinsics::_dsin:
   751         case vmIntrinsics::_dsin:
   752         runtime_entry = CAST_FROM_FN_PTR(address, SharedRuntime::dsin);
   752           runtime_entry = CAST_FROM_FN_PTR(address, SharedRuntime::dsin);
   753         break;
   753           break;
   754       case vmIntrinsics::_dcos:
   754         case vmIntrinsics::_dcos:
   755         runtime_entry = CAST_FROM_FN_PTR(address, SharedRuntime::dcos);
   755           runtime_entry = CAST_FROM_FN_PTR(address, SharedRuntime::dcos);
   756         break;
   756           break;
   757       case vmIntrinsics::_dtan:
   757         case vmIntrinsics::_dtan:
   758         runtime_entry = CAST_FROM_FN_PTR(address, SharedRuntime::dtan);
   758           runtime_entry = CAST_FROM_FN_PTR(address, SharedRuntime::dtan);
   759         break;
   759           break;
   760       case vmIntrinsics::_dlog:
   760         case vmIntrinsics::_dlog:
   761         runtime_entry = CAST_FROM_FN_PTR(address, SharedRuntime::dlog);
   761           runtime_entry = CAST_FROM_FN_PTR(address, SharedRuntime::dlog);
   762         break;
   762           break;
   763       case vmIntrinsics::_dlog10:
   763         case vmIntrinsics::_dlog10:
   764         runtime_entry = CAST_FROM_FN_PTR(address, SharedRuntime::dlog10);
   764           runtime_entry = CAST_FROM_FN_PTR(address, SharedRuntime::dlog10);
   765         break;
   765           break;
   766       case vmIntrinsics::_dexp:
   766         case vmIntrinsics::_dexp:
   767         runtime_entry = CAST_FROM_FN_PTR(address, SharedRuntime::dexp);
   767           runtime_entry = CAST_FROM_FN_PTR(address, SharedRuntime::dexp);
   768         break;
   768           break;
   769       default:
   769         default:
   770         ShouldNotReachHere();
   770           ShouldNotReachHere();
   771       }
   771       }
   772 
   772 
   773       LIR_Opr result = call_runtime(x->argument_at(0), runtime_entry, x->type(), NULL);
   773       LIR_Opr result = call_runtime(x->argument_at(0), runtime_entry, x->type(), NULL);
   774       set_result(x, result);
   774       set_result(x, result);
   775       break;
   775       break;
   779       address runtime_entry = CAST_FROM_FN_PTR(address, SharedRuntime::dpow);
   779       address runtime_entry = CAST_FROM_FN_PTR(address, SharedRuntime::dpow);
   780       LIR_Opr result = call_runtime(x->argument_at(0), x->argument_at(1), runtime_entry, x->type(), NULL);
   780       LIR_Opr result = call_runtime(x->argument_at(0), x->argument_at(1), runtime_entry, x->type(), NULL);
   781       set_result(x, result);
   781       set_result(x, result);
   782       break;
   782       break;
   783     }
   783     }
       
   784     default:
       
   785       break;
   784   }
   786   }
   785 }
   787 }
   786 
   788 
   787 
   789 
   788 void LIRGenerator::do_ArrayCopy(Intrinsic* x) {
   790 void LIRGenerator::do_ArrayCopy(Intrinsic* x) {