hotspot/src/cpu/aarch64/vm/templateInterpreterGenerator_aarch64.cpp
changeset 42653 62a5d76872d4
parent 42583 b33957017897
child 43964 2f5e556a6037
child 46263 1d8d6ddcc626
equal deleted inserted replaced
42652:dc2f4314cb2e 42653:62a5d76872d4
   202     __ ldrd(v1, Address(esp));
   202     __ ldrd(v1, Address(esp));
   203     __ mov(sp, r13);
   203     __ mov(sp, r13);
   204     generate_transcendental_entry(kind, 2);
   204     generate_transcendental_entry(kind, 2);
   205     break;
   205     break;
   206   case Interpreter::java_lang_math_fmaD :
   206   case Interpreter::java_lang_math_fmaD :
       
   207     if (UseFMA) {
       
   208       entry_point = __ pc();
       
   209       __ ldrd(v0, Address(esp, 4 * Interpreter::stackElementSize));
       
   210       __ ldrd(v1, Address(esp, 2 * Interpreter::stackElementSize));
       
   211       __ ldrd(v2, Address(esp));
       
   212       __ fmaddd(v0, v0, v1, v2);
       
   213       __ mov(sp, r13); // Restore caller's SP
       
   214     }
       
   215     break;
   207   case Interpreter::java_lang_math_fmaF :
   216   case Interpreter::java_lang_math_fmaF :
   208     return NULL;
   217     if (UseFMA) {
       
   218       entry_point = __ pc();
       
   219       __ ldrs(v0, Address(esp, 2 * Interpreter::stackElementSize));
       
   220       __ ldrs(v1, Address(esp, Interpreter::stackElementSize));
       
   221       __ ldrs(v2, Address(esp));
       
   222       __ fmadds(v0, v0, v1, v2);
       
   223       __ mov(sp, r13); // Restore caller's SP
       
   224     }
       
   225     break;
   209   default:
   226   default:
   210     ;
   227     ;
   211   }
   228   }
   212   if (entry_point) {
   229   if (entry_point) {
   213     __ br(continuation);
   230     __ br(continuation);