< prev index next >

src/hotspot/cpu/arm/templateTable_arm.cpp

Print this page

        

*** 1608,1619 **** 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; 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(); } --- 1608,1621 ---- transition(ftos, ftos); #ifdef __SOFTFP__ __ mov(R1, R0_tos); __ pop_i(R0); switch (op) { ! // __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,1662 **** #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; 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(); } --- 1652,1665 ---- #ifdef __SOFTFP__ __ mov(R2, R0_tos_lo); __ mov(R3, R1_tos_hi); __ pop_l(R0, R1); switch (op) { ! // __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 >