src/hotspot/share/opto/library_call.cpp
changeset 58745 70e6b0d8db13
parent 58554 8c3c39710a08
child 58901 2700c409ff10
equal deleted inserted replaced
58744:c9c3bb79861e 58745:70e6b0d8db13
  1820   Node* arg = round_double_node(argument(0));
  1820   Node* arg = round_double_node(argument(0));
  1821   Node* n = NULL;
  1821   Node* n = NULL;
  1822   switch (id) {
  1822   switch (id) {
  1823   case vmIntrinsics::_dabs:   n = new AbsDNode(                arg);  break;
  1823   case vmIntrinsics::_dabs:   n = new AbsDNode(                arg);  break;
  1824   case vmIntrinsics::_dsqrt:  n = new SqrtDNode(C, control(),  arg);  break;
  1824   case vmIntrinsics::_dsqrt:  n = new SqrtDNode(C, control(),  arg);  break;
  1825   case vmIntrinsics::_ceil:   n = new RoundDoubleModeNode(arg, makecon(TypeInt::make(2))); break;
  1825   case vmIntrinsics::_ceil:   n = RoundDoubleModeNode::make(_gvn, arg, RoundDoubleModeNode::rmode_ceil); break;
  1826   case vmIntrinsics::_floor:  n = new RoundDoubleModeNode(arg, makecon(TypeInt::make(1))); break;
  1826   case vmIntrinsics::_floor:  n = RoundDoubleModeNode::make(_gvn, arg, RoundDoubleModeNode::rmode_floor); break;
  1827   case vmIntrinsics::_rint:   n = new RoundDoubleModeNode(arg, makecon(TypeInt::make(0))); break;
  1827   case vmIntrinsics::_rint:   n = RoundDoubleModeNode::make(_gvn, arg, RoundDoubleModeNode::rmode_rint); break;
  1828   default:  fatal_unexpected_iid(id);  break;
  1828   default:  fatal_unexpected_iid(id);  break;
  1829   }
  1829   }
  1830   set_result(_gvn.transform(n));
  1830   set_result(_gvn.transform(n));
  1831   return true;
  1831   return true;
  1832 }
  1832 }