< prev index next >
src/hotspot/cpu/arm/templateTable_arm.cpp
Print this page
@@ -1608,12 +1608,14 @@
transition(ftos, ftos);
#ifdef __SOFTFP__
__ mov(R1, R0_tos);
__ pop_i(R0);
switch (op) {
- case add: __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_fadd_glibc), R0, R1); break;
- case sub: __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_fsub_glibc), R0, R1); break;
+ // __aeabi_XXXX_extlib: Optional wrapper around SoftFloat-3e
+ // for calculation accuracy improvement. See CR 6757269, JDK-8215902.
+ case add: __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_fadd_extlib), R0, R1); break;
+ case sub: __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_fsub_extlib), R0, R1); break;
case mul: __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_fmul), R0, R1); break;
case div: __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_fdiv), R0, R1); break;
case rem: __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::frem), R0, R1); break;
default : ShouldNotReachHere();
}
@@ -1650,13 +1652,14 @@
#ifdef __SOFTFP__
__ mov(R2, R0_tos_lo);
__ mov(R3, R1_tos_hi);
__ pop_l(R0, R1);
switch (op) {
- // __aeabi_XXXX_glibc: Imported code from glibc soft-fp bundle for calculation accuracy improvement. See CR 6757269.
- case add: __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_dadd_glibc), R0, R1, R2, R3); break;
- case sub: __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_dsub_glibc), R0, R1, R2, R3); break;
+ // __aeabi_XXXX_extlib: Optional wrapper around SoftFloat-3e
+ // for calculation accuracy improvement. See CR 6757269, JDK-8215902.
+ case add: __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_dadd_extlib), R0, R1, R2, R3); break;
+ case sub: __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_dsub_extlib), R0, R1, R2, R3); break;
case mul: __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_dmul), R0, R1, R2, R3); break;
case div: __ call_VM_leaf(CAST_FROM_FN_PTR(address, __aeabi_ddiv), R0, R1, R2, R3); break;
case rem: __ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::drem), R0, R1, R2, R3); break;
default : ShouldNotReachHere();
}
< prev index next >