< prev index next >

src/hotspot/cpu/aarch64/macroAssembler_aarch64_log.cpp

Print this page
8248238: Adding Windows support to OpenJDK on AArch64

Summary: LP64 vs LLP64 changes to add Windows support

Contributed-by: Monica Beckwith <monica.beckwith@microsoft.com>, Ludovic Henry <luhenry@microsoft.com>
Reviewed-by:
8248238: Adding Windows support to OpenJDK on AArch64

Summary: Adding Windows support for AArch64

Contributed-by: Ludovic Henry <luhenry@microsoft.com>, Monica Beckwith <monica.beckwith@microsoft.com>
Reviewed-by:

*** 63,73 **** // /******************************************************************************/ // Table with p(r) polynomial coefficients // and table representation of logarithm values (hi and low parts) ! __attribute__ ((aligned(64))) juint _L_tbl[] = { // coefficients of p(r) polynomial: // _coeff[] 0x00000000UL, 0xbfd00000UL, // C1_0 = -0.25 0x92492492UL, 0x3fc24924UL, // C1_1 = 0.14285714285714285 --- 63,73 ---- // /******************************************************************************/ // Table with p(r) polynomial coefficients // and table representation of logarithm values (hi and low parts) ! ATTRIBUTE_ALIGNED(64) juint _L_tbl[] = { // coefficients of p(r) polynomial: // _coeff[] 0x00000000UL, 0xbfd00000UL, // C1_0 = -0.25 0x92492492UL, 0x3fc24924UL, // C1_1 = 0.14285714285714285
*** 258,270 **** FloatRegister C3, FloatRegister C4, Register tmp1, Register tmp2, Register tmp3, Register tmp4, Register tmp5) { Label DONE, CHECK_CORNER_CASES, SMALL_VALUE, MAIN, CHECKED_CORNER_CASES, RETURN_MINF_OR_NAN; ! const long INF_OR_NAN_PREFIX = 0x7FF0; ! const long MINF_OR_MNAN_PREFIX = 0xFFF0; ! const long ONE_PREFIX = 0x3FF0; movz(tmp2, ONE_PREFIX, 48); movz(tmp4, 0x0010, 48); fmovd(rscratch1, v0); // rscratch1 = AS_LONG_BITS(X) lea(rscratch2, ExternalAddress((address)_L_tbl)); movz(tmp5, 0x7F); --- 258,270 ---- FloatRegister C3, FloatRegister C4, Register tmp1, Register tmp2, Register tmp3, Register tmp4, Register tmp5) { Label DONE, CHECK_CORNER_CASES, SMALL_VALUE, MAIN, CHECKED_CORNER_CASES, RETURN_MINF_OR_NAN; ! const int64_t INF_OR_NAN_PREFIX = 0x7FF0; ! const int64_t MINF_OR_MNAN_PREFIX = 0xFFF0; ! const int64_t ONE_PREFIX = 0x3FF0; movz(tmp2, ONE_PREFIX, 48); movz(tmp4, 0x0010, 48); fmovd(rscratch1, v0); // rscratch1 = AS_LONG_BITS(X) lea(rscratch2, ExternalAddress((address)_L_tbl)); movz(tmp5, 0x7F);
< prev index next >