hotspot/src/cpu/s390/vm/c1_LIRGenerator_s390.cpp
changeset 42897 57e7b1c75d17
parent 42065 6032b31e3719
child 44738 11431bbc9549
child 46315 a796c32af782
equal deleted inserted replaced
42896:c868a2f327c6 42897:57e7b1c75d17
  1235 void LIRGenerator::do_update_CRC32C(Intrinsic* x) {
  1235 void LIRGenerator::do_update_CRC32C(Intrinsic* x) {
  1236   Unimplemented();
  1236   Unimplemented();
  1237 }
  1237 }
  1238 
  1238 
  1239 void LIRGenerator::do_FmaIntrinsic(Intrinsic* x) {
  1239 void LIRGenerator::do_FmaIntrinsic(Intrinsic* x) {
  1240   fatal("FMA intrinsic is not implemented on this platform");
  1240   assert(x->number_of_arguments() == 3, "wrong type");
       
  1241   assert(UseFMA, "Needs FMA instructions support.");
       
  1242   LIRItem value(x->argument_at(0), this);
       
  1243   LIRItem value1(x->argument_at(1), this);
       
  1244   LIRItem value2(x->argument_at(2), this);
       
  1245 
       
  1246   value2.set_destroys_register();
       
  1247 
       
  1248   value.load_item();
       
  1249   value1.load_item();
       
  1250   value2.load_item();
       
  1251 
       
  1252   LIR_Opr calc_input = value.result();
       
  1253   LIR_Opr calc_input1 = value1.result();
       
  1254   LIR_Opr calc_input2 = value2.result();
       
  1255   LIR_Opr calc_result = rlock_result(x);
       
  1256 
       
  1257   switch (x->id()) {
       
  1258   case vmIntrinsics::_fmaD:   __ fmad(calc_input, calc_input1, calc_input2, calc_result); break;
       
  1259   case vmIntrinsics::_fmaF:   __ fmaf(calc_input, calc_input1, calc_input2, calc_result); break;
       
  1260   default:                    ShouldNotReachHere();
       
  1261   }
  1241 }
  1262 }
  1242 
  1263 
  1243 void LIRGenerator::do_vectorizedMismatch(Intrinsic* x) {
  1264 void LIRGenerator::do_vectorizedMismatch(Intrinsic* x) {
  1244   fatal("vectorizedMismatch intrinsic is not implemented on this platform");
  1265   fatal("vectorizedMismatch intrinsic is not implemented on this platform");
  1245 }
  1266 }