1110 case vmIntrinsics::_fmaF: __ fmaf(calc_input, calc_input1, calc_input2, calc_result); break;
1111 default: ShouldNotReachHere();
1112 }
1113 }
1114
1115 void LIRGenerator::do_vectorizedMismatch(Intrinsic* x) {
1116 fatal("vectorizedMismatch intrinsic is not implemented on this platform");
1117 }
1118
1119 // _i2l, _i2f, _i2d, _l2i, _l2f, _l2d, _f2i, _f2l, _f2d, _d2i, _d2l, _d2f
1120 // _i2b, _i2c, _i2s
1121 void LIRGenerator::do_Convert(Convert* x) {
1122 LIRItem value(x->value(), this);
1123 value.load_item();
1124 LIR_Opr input = value.result();
1125 LIR_Opr result = rlock(x);
1126
1127 // arguments of lir_convert
1128 LIR_Opr conv_input = input;
1129 LIR_Opr conv_result = result;
1130 ConversionStub* stub = NULL;
1131
1132 __ convert(x->op(), conv_input, conv_result);
1133
1134 assert(result->is_virtual(), "result must be virtual register");
1135 set_result(x, result);
1136 }
1137
1138 void LIRGenerator::do_NewInstance(NewInstance* x) {
1139 #ifndef PRODUCT
1140 if (PrintNotLoaded && !x->klass()->is_loaded()) {
1141 tty->print_cr(" ###class not loaded at new bci %d", x->printable_bci());
1142 }
1143 #endif
1144 CodeEmitInfo* info = state_for(x, x->state());
1145 LIR_Opr reg = result_register_for(x->type());
1146 new_instance(reg, x->klass(), x->is_unresolved(),
1147 FrameMap::r2_oop_opr,
1148 FrameMap::r5_oop_opr,
1149 FrameMap::r4_oop_opr,
1150 LIR_OprFact::illegalOpr,
|
1110 case vmIntrinsics::_fmaF: __ fmaf(calc_input, calc_input1, calc_input2, calc_result); break;
1111 default: ShouldNotReachHere();
1112 }
1113 }
1114
1115 void LIRGenerator::do_vectorizedMismatch(Intrinsic* x) {
1116 fatal("vectorizedMismatch intrinsic is not implemented on this platform");
1117 }
1118
1119 // _i2l, _i2f, _i2d, _l2i, _l2f, _l2d, _f2i, _f2l, _f2d, _d2i, _d2l, _d2f
1120 // _i2b, _i2c, _i2s
1121 void LIRGenerator::do_Convert(Convert* x) {
1122 LIRItem value(x->value(), this);
1123 value.load_item();
1124 LIR_Opr input = value.result();
1125 LIR_Opr result = rlock(x);
1126
1127 // arguments of lir_convert
1128 LIR_Opr conv_input = input;
1129 LIR_Opr conv_result = result;
1130
1131 __ convert(x->op(), conv_input, conv_result);
1132
1133 assert(result->is_virtual(), "result must be virtual register");
1134 set_result(x, result);
1135 }
1136
1137 void LIRGenerator::do_NewInstance(NewInstance* x) {
1138 #ifndef PRODUCT
1139 if (PrintNotLoaded && !x->klass()->is_loaded()) {
1140 tty->print_cr(" ###class not loaded at new bci %d", x->printable_bci());
1141 }
1142 #endif
1143 CodeEmitInfo* info = state_for(x, x->state());
1144 LIR_Opr reg = result_register_for(x->type());
1145 new_instance(reg, x->klass(), x->is_unresolved(),
1146 FrameMap::r2_oop_opr,
1147 FrameMap::r5_oop_opr,
1148 FrameMap::r4_oop_opr,
1149 LIR_OprFact::illegalOpr,
|