src/hotspot/cpu/x86/macroAssembler_x86_sin.cpp
author lfoltan
Mon, 23 Sep 2019 14:49:04 -0400
changeset 58273 08a5148e7c4e
parent 51756 4bd35a5ec694
permissions -rw-r--r--
8230505: Replace JVM type comparisons to T_OBJECT and T_ARRAY with call to is_reference_type Summary: Consistently use is_reference_type when comparing type for T_OBJECT or T_ARRAY. Reviewed-by: dlong, coleenp, hseigel Contributed-by: lois.foltan@oracle.com, john.r.rose@oracle.com
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
     1
/*
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
     2
* Copyright (c) 2016, Intel Corporation.
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
     3
* Intel Math Library (LIBM) Source Code
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
     4
*
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
     5
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
     6
*
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
     7
* This code is free software; you can redistribute it and/or modify it
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
     8
* under the terms of the GNU General Public License version 2 only, as
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
     9
* published by the Free Software Foundation.
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    10
*
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    11
* This code is distributed in the hope that it will be useful, but WITHOUT
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    12
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    13
* FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    14
* version 2 for more details (a copy is included in the LICENSE file that
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    15
* accompanied this code).
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    16
*
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    17
* You should have received a copy of the GNU General Public License version
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    18
* 2 along with this work; if not, write to the Free Software Foundation,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    19
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    20
*
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    21
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    22
* or visit www.oracle.com if you need additional information or have any
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    23
* questions.
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    24
*
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    25
*/
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    26
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    27
#include "precompiled.hpp"
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    28
#include "asm/assembler.hpp"
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    29
#include "asm/assembler.inline.hpp"
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
    30
#include "macroAssembler_x86.hpp"
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    31
#include "runtime/stubRoutines.hpp"
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    32
#include "stubRoutines_x86.hpp"
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
    33
#include "utilities/globalDefinitions.hpp"
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    34
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    35
/******************************************************************************/
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    36
//                     ALGORITHM DESCRIPTION - SIN()
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    37
//                     ---------------------
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    38
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    39
//     1. RANGE REDUCTION
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    40
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    41
//     We perform an initial range reduction from X to r with
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    42
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    43
//          X =~= N * pi/32 + r
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    44
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    45
//     so that |r| <= pi/64 + epsilon. We restrict inputs to those
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    46
//     where |N| <= 932560. Beyond this, the range reduction is
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    47
//     insufficiently accurate. For extremely small inputs,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    48
//     denormalization can occur internally, impacting performance.
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    49
//     This means that the main path is actually only taken for
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    50
//     2^-252 <= |X| < 90112.
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    51
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    52
//     To avoid branches, we perform the range reduction to full
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    53
//     accuracy each time.
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    54
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    55
//          X - N * (P_1 + P_2 + P_3)
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    56
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    57
//     where P_1 and P_2 are 32-bit numbers (so multiplication by N
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    58
//     is exact) and P_3 is a 53-bit number. Together, these
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    59
//     approximate pi well enough for all cases in the restricted
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    60
//     range.
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    61
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    62
//     The main reduction sequence is:
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    63
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    64
//             y = 32/pi * x
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    65
//             N = integer(y)
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    66
//     (computed by adding and subtracting off SHIFTER)
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    67
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    68
//             m_1 = N * P_1
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    69
//             m_2 = N * P_2
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    70
//             r_1 = x - m_1
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    71
//             r = r_1 - m_2
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    72
//     (this r can be used for most of the calculation)
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    73
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    74
//             c_1 = r_1 - r
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    75
//             m_3 = N * P_3
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    76
//             c_2 = c_1 - m_2
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    77
//             c = c_2 - m_3
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    78
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    79
//     2. MAIN ALGORITHM
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    80
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    81
//     The algorithm uses a table lookup based on B = M * pi / 32
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    82
//     where M = N mod 64. The stored values are:
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    83
//       sigma             closest power of 2 to cos(B)
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    84
//       C_hl              53-bit cos(B) - sigma
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    85
//       S_hi + S_lo       2 * 53-bit sin(B)
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    86
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    87
//     The computation is organized as follows:
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    88
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    89
//          sin(B + r + c) = [sin(B) + sigma * r] +
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    90
//                           r * (cos(B) - sigma) +
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    91
//                           sin(B) * [cos(r + c) - 1] +
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    92
//                           cos(B) * [sin(r + c) - r]
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    93
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    94
//     which is approximately:
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    95
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    96
//          [S_hi + sigma * r] +
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    97
//          C_hl * r +
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    98
//          S_lo + S_hi * [(cos(r) - 1) - r * c] +
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
    99
//          (C_hl + sigma) * [(sin(r) - r) + c]
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   100
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   101
//     and this is what is actually computed. We separate this sum
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   102
//     into four parts:
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   103
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   104
//          hi + med + pols + corr
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   105
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   106
//     where
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   107
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   108
//          hi       = S_hi + sigma r
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   109
//          med      = C_hl * r
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   110
//          pols     = S_hi * (cos(r) - 1) + (C_hl + sigma) * (sin(r) - r)
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   111
//          corr     = S_lo + c * ((C_hl + sigma) - S_hi * r)
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   112
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   113
//     3. POLYNOMIAL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   114
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   115
//     The polynomial S_hi * (cos(r) - 1) + (C_hl + sigma) *
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   116
//     (sin(r) - r) can be rearranged freely, since it is quite
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   117
//     small, so we exploit parallelism to the fullest.
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   118
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   119
//          psc4       =   SC_4 * r_1
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   120
//          msc4       =   psc4 * r
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   121
//          r2         =   r * r
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   122
//          msc2       =   SC_2 * r2
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   123
//          r4         =   r2 * r2
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   124
//          psc3       =   SC_3 + msc4
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   125
//          psc1       =   SC_1 + msc2
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   126
//          msc3       =   r4 * psc3
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   127
//          sincospols =   psc1 + msc3
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   128
//          pols       =   sincospols *
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   129
//                         <S_hi * r^2 | (C_hl + sigma) * r^3>
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   130
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   131
//     4. CORRECTION TERM
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   132
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   133
//     This is where the "c" component of the range reduction is
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   134
//     taken into account; recall that just "r" is used for most of
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   135
//     the calculation.
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   136
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   137
//          -c   = m_3 - c_2
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   138
//          -d   = S_hi * r - (C_hl + sigma)
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   139
//          corr = -c * -d + S_lo
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   140
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   141
//     5. COMPENSATED SUMMATIONS
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   142
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   143
//     The two successive compensated summations add up the high
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   144
//     and medium parts, leaving just the low parts to add up at
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   145
//     the end.
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   146
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   147
//          rs        =  sigma * r
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   148
//          res_int   =  S_hi + rs
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   149
//          k_0       =  S_hi - res_int
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   150
//          k_2       =  k_0 + rs
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   151
//          med       =  C_hl * r
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   152
//          res_hi    =  res_int + med
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   153
//          k_1       =  res_int - res_hi
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   154
//          k_3       =  k_1 + med
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   155
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   156
//     6. FINAL SUMMATION
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   157
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   158
//     We now add up all the small parts:
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   159
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   160
//          res_lo = pols(hi) + pols(lo) + corr + k_1 + k_3
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   161
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   162
//     Now the overall result is just:
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   163
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   164
//          res_hi + res_lo
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   165
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   166
//     7. SMALL ARGUMENTS
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   167
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   168
//     If |x| < SNN (SNN meaning the smallest normal number), we
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   169
//     simply perform 0.1111111 cdots 1111 * x. For SNN <= |x|, we
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   170
//     do 2^-55 * (2^55 * x - x).
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   171
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   172
// Special cases:
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   173
//  sin(NaN) = quiet NaN, and raise invalid exception
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   174
//  sin(INF) = NaN and raise invalid exception
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   175
//  sin(+/-0) = +/-0
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   176
//
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   177
/******************************************************************************/
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   178
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   179
#ifdef _LP64
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   180
// The 64 bit code is at most SSE2 compliant
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   181
ATTRIBUTE_ALIGNED(16) juint StubRoutines::x86::_ONEHALF[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   182
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   183
    0x00000000UL, 0x3fe00000UL, 0x00000000UL, 0x3fe00000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   184
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   185
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   186
ATTRIBUTE_ALIGNED(16) juint StubRoutines::x86::_P_2[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   187
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   188
    0x1a600000UL, 0x3d90b461UL, 0x1a600000UL, 0x3d90b461UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   189
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   190
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   191
ATTRIBUTE_ALIGNED(16) juint StubRoutines::x86::_SC_4[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   192
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   193
    0xa556c734UL, 0x3ec71de3UL, 0x1a01a01aUL, 0x3efa01a0UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   194
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   195
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   196
ATTRIBUTE_ALIGNED(16) juint StubRoutines::x86::_Ctable[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   197
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   198
    0x00000000UL, 0x00000000UL, 0x00000000UL, 0x00000000UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   199
    0x00000000UL, 0x00000000UL, 0x3ff00000UL, 0x176d6d31UL, 0xbf73b92eUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   200
    0xbc29b42cUL, 0x3fb917a6UL, 0xe0000000UL, 0xbc3e2718UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   201
    0x3ff00000UL, 0x011469fbUL, 0xbf93ad06UL, 0x3c69a60bUL, 0x3fc8f8b8UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   202
    0xc0000000UL, 0xbc626d19UL, 0x00000000UL, 0x3ff00000UL, 0x939d225aUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   203
    0xbfa60beaUL, 0x2ed59f06UL, 0x3fd29406UL, 0xa0000000UL, 0xbc75d28dUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   204
    0x00000000UL, 0x3ff00000UL, 0x866b95cfUL, 0xbfb37ca1UL, 0xa6aea963UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   205
    0x3fd87de2UL, 0xe0000000UL, 0xbc672cedUL, 0x00000000UL, 0x3ff00000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   206
    0x73fa1279UL, 0xbfbe3a68UL, 0x3806f63bUL, 0x3fde2b5dUL, 0x20000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   207
    0x3c5e0d89UL, 0x00000000UL, 0x3ff00000UL, 0x5bc57974UL, 0xbfc59267UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   208
    0x39ae68c8UL, 0x3fe1c73bUL, 0x20000000UL, 0x3c8b25ddUL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   209
    0x3ff00000UL, 0x53aba2fdUL, 0xbfcd0dfeUL, 0x25091dd6UL, 0x3fe44cf3UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   210
    0x20000000UL, 0x3c68076aUL, 0x00000000UL, 0x3ff00000UL, 0x99fcef32UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   211
    0x3fca8279UL, 0x667f3bcdUL, 0x3fe6a09eUL, 0x20000000UL, 0xbc8bdd34UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   212
    0x00000000UL, 0x3fe00000UL, 0x94247758UL, 0x3fc133ccUL, 0x6b151741UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   213
    0x3fe8bc80UL, 0x20000000UL, 0xbc82c5e1UL, 0x00000000UL, 0x3fe00000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   214
    0x9ae68c87UL, 0x3fac73b3UL, 0x290ea1a3UL, 0x3fea9b66UL, 0xe0000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   215
    0x3c39f630UL, 0x00000000UL, 0x3fe00000UL, 0x7f909c4eUL, 0xbf9d4a2cUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   216
    0xf180bdb1UL, 0x3fec38b2UL, 0x80000000UL, 0xbc76e0b1UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   217
    0x3fe00000UL, 0x65455a75UL, 0xbfbe0875UL, 0xcf328d46UL, 0x3fed906bUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   218
    0x20000000UL, 0x3c7457e6UL, 0x00000000UL, 0x3fe00000UL, 0x76acf82dUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   219
    0x3fa4a031UL, 0x56c62ddaUL, 0x3fee9f41UL, 0xe0000000UL, 0x3c8760b1UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   220
    0x00000000UL, 0x3fd00000UL, 0x0e5967d5UL, 0xbfac1d1fUL, 0xcff75cb0UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   221
    0x3fef6297UL, 0x20000000UL, 0x3c756217UL, 0x00000000UL, 0x3fd00000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   222
    0x0f592f50UL, 0xbf9ba165UL, 0xa3d12526UL, 0x3fefd88dUL, 0x40000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   223
    0xbc887df6UL, 0x00000000UL, 0x3fc00000UL, 0x00000000UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   224
    0x00000000UL, 0x3ff00000UL, 0x00000000UL, 0x00000000UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   225
    0x00000000UL, 0x0f592f50UL, 0x3f9ba165UL, 0xa3d12526UL, 0x3fefd88dUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   226
    0x40000000UL, 0xbc887df6UL, 0x00000000UL, 0xbfc00000UL, 0x0e5967d5UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   227
    0x3fac1d1fUL, 0xcff75cb0UL, 0x3fef6297UL, 0x20000000UL, 0x3c756217UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   228
    0x00000000UL, 0xbfd00000UL, 0x76acf82dUL, 0xbfa4a031UL, 0x56c62ddaUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   229
    0x3fee9f41UL, 0xe0000000UL, 0x3c8760b1UL, 0x00000000UL, 0xbfd00000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   230
    0x65455a75UL, 0x3fbe0875UL, 0xcf328d46UL, 0x3fed906bUL, 0x20000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   231
    0x3c7457e6UL, 0x00000000UL, 0xbfe00000UL, 0x7f909c4eUL, 0x3f9d4a2cUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   232
    0xf180bdb1UL, 0x3fec38b2UL, 0x80000000UL, 0xbc76e0b1UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   233
    0xbfe00000UL, 0x9ae68c87UL, 0xbfac73b3UL, 0x290ea1a3UL, 0x3fea9b66UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   234
    0xe0000000UL, 0x3c39f630UL, 0x00000000UL, 0xbfe00000UL, 0x94247758UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   235
    0xbfc133ccUL, 0x6b151741UL, 0x3fe8bc80UL, 0x20000000UL, 0xbc82c5e1UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   236
    0x00000000UL, 0xbfe00000UL, 0x99fcef32UL, 0xbfca8279UL, 0x667f3bcdUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   237
    0x3fe6a09eUL, 0x20000000UL, 0xbc8bdd34UL, 0x00000000UL, 0xbfe00000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   238
    0x53aba2fdUL, 0x3fcd0dfeUL, 0x25091dd6UL, 0x3fe44cf3UL, 0x20000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   239
    0x3c68076aUL, 0x00000000UL, 0xbff00000UL, 0x5bc57974UL, 0x3fc59267UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   240
    0x39ae68c8UL, 0x3fe1c73bUL, 0x20000000UL, 0x3c8b25ddUL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   241
    0xbff00000UL, 0x73fa1279UL, 0x3fbe3a68UL, 0x3806f63bUL, 0x3fde2b5dUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   242
    0x20000000UL, 0x3c5e0d89UL, 0x00000000UL, 0xbff00000UL, 0x866b95cfUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   243
    0x3fb37ca1UL, 0xa6aea963UL, 0x3fd87de2UL, 0xe0000000UL, 0xbc672cedUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   244
    0x00000000UL, 0xbff00000UL, 0x939d225aUL, 0x3fa60beaUL, 0x2ed59f06UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   245
    0x3fd29406UL, 0xa0000000UL, 0xbc75d28dUL, 0x00000000UL, 0xbff00000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   246
    0x011469fbUL, 0x3f93ad06UL, 0x3c69a60bUL, 0x3fc8f8b8UL, 0xc0000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   247
    0xbc626d19UL, 0x00000000UL, 0xbff00000UL, 0x176d6d31UL, 0x3f73b92eUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   248
    0xbc29b42cUL, 0x3fb917a6UL, 0xe0000000UL, 0xbc3e2718UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   249
    0xbff00000UL, 0x00000000UL, 0x00000000UL, 0x00000000UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   250
    0x00000000UL, 0x00000000UL, 0x00000000UL, 0xbff00000UL, 0x176d6d31UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   251
    0x3f73b92eUL, 0xbc29b42cUL, 0xbfb917a6UL, 0xe0000000UL, 0x3c3e2718UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   252
    0x00000000UL, 0xbff00000UL, 0x011469fbUL, 0x3f93ad06UL, 0x3c69a60bUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   253
    0xbfc8f8b8UL, 0xc0000000UL, 0x3c626d19UL, 0x00000000UL, 0xbff00000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   254
    0x939d225aUL, 0x3fa60beaUL, 0x2ed59f06UL, 0xbfd29406UL, 0xa0000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   255
    0x3c75d28dUL, 0x00000000UL, 0xbff00000UL, 0x866b95cfUL, 0x3fb37ca1UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   256
    0xa6aea963UL, 0xbfd87de2UL, 0xe0000000UL, 0x3c672cedUL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   257
    0xbff00000UL, 0x73fa1279UL, 0x3fbe3a68UL, 0x3806f63bUL, 0xbfde2b5dUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   258
    0x20000000UL, 0xbc5e0d89UL, 0x00000000UL, 0xbff00000UL, 0x5bc57974UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   259
    0x3fc59267UL, 0x39ae68c8UL, 0xbfe1c73bUL, 0x20000000UL, 0xbc8b25ddUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   260
    0x00000000UL, 0xbff00000UL, 0x53aba2fdUL, 0x3fcd0dfeUL, 0x25091dd6UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   261
    0xbfe44cf3UL, 0x20000000UL, 0xbc68076aUL, 0x00000000UL, 0xbff00000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   262
    0x99fcef32UL, 0xbfca8279UL, 0x667f3bcdUL, 0xbfe6a09eUL, 0x20000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   263
    0x3c8bdd34UL, 0x00000000UL, 0xbfe00000UL, 0x94247758UL, 0xbfc133ccUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   264
    0x6b151741UL, 0xbfe8bc80UL, 0x20000000UL, 0x3c82c5e1UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   265
    0xbfe00000UL, 0x9ae68c87UL, 0xbfac73b3UL, 0x290ea1a3UL, 0xbfea9b66UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   266
    0xe0000000UL, 0xbc39f630UL, 0x00000000UL, 0xbfe00000UL, 0x7f909c4eUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   267
    0x3f9d4a2cUL, 0xf180bdb1UL, 0xbfec38b2UL, 0x80000000UL, 0x3c76e0b1UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   268
    0x00000000UL, 0xbfe00000UL, 0x65455a75UL, 0x3fbe0875UL, 0xcf328d46UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   269
    0xbfed906bUL, 0x20000000UL, 0xbc7457e6UL, 0x00000000UL, 0xbfe00000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   270
    0x76acf82dUL, 0xbfa4a031UL, 0x56c62ddaUL, 0xbfee9f41UL, 0xe0000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   271
    0xbc8760b1UL, 0x00000000UL, 0xbfd00000UL, 0x0e5967d5UL, 0x3fac1d1fUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   272
    0xcff75cb0UL, 0xbfef6297UL, 0x20000000UL, 0xbc756217UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   273
    0xbfd00000UL, 0x0f592f50UL, 0x3f9ba165UL, 0xa3d12526UL, 0xbfefd88dUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   274
    0x40000000UL, 0x3c887df6UL, 0x00000000UL, 0xbfc00000UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   275
    0x00000000UL, 0x00000000UL, 0xbff00000UL, 0x00000000UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   276
    0x00000000UL, 0x00000000UL, 0x0f592f50UL, 0xbf9ba165UL, 0xa3d12526UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   277
    0xbfefd88dUL, 0x40000000UL, 0x3c887df6UL, 0x00000000UL, 0x3fc00000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   278
    0x0e5967d5UL, 0xbfac1d1fUL, 0xcff75cb0UL, 0xbfef6297UL, 0x20000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   279
    0xbc756217UL, 0x00000000UL, 0x3fd00000UL, 0x76acf82dUL, 0x3fa4a031UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   280
    0x56c62ddaUL, 0xbfee9f41UL, 0xe0000000UL, 0xbc8760b1UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   281
    0x3fd00000UL, 0x65455a75UL, 0xbfbe0875UL, 0xcf328d46UL, 0xbfed906bUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   282
    0x20000000UL, 0xbc7457e6UL, 0x00000000UL, 0x3fe00000UL, 0x7f909c4eUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   283
    0xbf9d4a2cUL, 0xf180bdb1UL, 0xbfec38b2UL, 0x80000000UL, 0x3c76e0b1UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   284
    0x00000000UL, 0x3fe00000UL, 0x9ae68c87UL, 0x3fac73b3UL, 0x290ea1a3UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   285
    0xbfea9b66UL, 0xe0000000UL, 0xbc39f630UL, 0x00000000UL, 0x3fe00000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   286
    0x94247758UL, 0x3fc133ccUL, 0x6b151741UL, 0xbfe8bc80UL, 0x20000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   287
    0x3c82c5e1UL, 0x00000000UL, 0x3fe00000UL, 0x99fcef32UL, 0x3fca8279UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   288
    0x667f3bcdUL, 0xbfe6a09eUL, 0x20000000UL, 0x3c8bdd34UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   289
    0x3fe00000UL, 0x53aba2fdUL, 0xbfcd0dfeUL, 0x25091dd6UL, 0xbfe44cf3UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   290
    0x20000000UL, 0xbc68076aUL, 0x00000000UL, 0x3ff00000UL, 0x5bc57974UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   291
    0xbfc59267UL, 0x39ae68c8UL, 0xbfe1c73bUL, 0x20000000UL, 0xbc8b25ddUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   292
    0x00000000UL, 0x3ff00000UL, 0x73fa1279UL, 0xbfbe3a68UL, 0x3806f63bUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   293
    0xbfde2b5dUL, 0x20000000UL, 0xbc5e0d89UL, 0x00000000UL, 0x3ff00000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   294
    0x866b95cfUL, 0xbfb37ca1UL, 0xa6aea963UL, 0xbfd87de2UL, 0xe0000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   295
    0x3c672cedUL, 0x00000000UL, 0x3ff00000UL, 0x939d225aUL, 0xbfa60beaUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   296
    0x2ed59f06UL, 0xbfd29406UL, 0xa0000000UL, 0x3c75d28dUL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   297
    0x3ff00000UL, 0x011469fbUL, 0xbf93ad06UL, 0x3c69a60bUL, 0xbfc8f8b8UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   298
    0xc0000000UL, 0x3c626d19UL, 0x00000000UL, 0x3ff00000UL, 0x176d6d31UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   299
    0xbf73b92eUL, 0xbc29b42cUL, 0xbfb917a6UL, 0xe0000000UL, 0x3c3e2718UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   300
    0x00000000UL, 0x3ff00000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   301
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   302
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   303
ATTRIBUTE_ALIGNED(16) juint StubRoutines::x86::_SC_2[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   304
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   305
    0x11111111UL, 0x3f811111UL, 0x55555555UL, 0x3fa55555UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   306
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   307
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   308
ATTRIBUTE_ALIGNED(16) juint StubRoutines::x86::_SC_3[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   309
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   310
    0x1a01a01aUL, 0xbf2a01a0UL, 0x16c16c17UL, 0xbf56c16cUL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   311
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   312
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   313
ATTRIBUTE_ALIGNED(16) juint StubRoutines::x86::_SC_1[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   314
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   315
    0x55555555UL, 0xbfc55555UL, 0x00000000UL, 0xbfe00000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   316
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   317
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   318
ATTRIBUTE_ALIGNED(16) juint StubRoutines::x86::_PI_INV_TABLE[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   319
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   320
    0x00000000UL, 0x00000000UL, 0xa2f9836eUL, 0x4e441529UL, 0xfc2757d1UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   321
    0xf534ddc0UL, 0xdb629599UL, 0x3c439041UL, 0xfe5163abUL, 0xdebbc561UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   322
    0xb7246e3aUL, 0x424dd2e0UL, 0x06492eeaUL, 0x09d1921cUL, 0xfe1deb1cUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   323
    0xb129a73eUL, 0xe88235f5UL, 0x2ebb4484UL, 0xe99c7026UL, 0xb45f7e41UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   324
    0x3991d639UL, 0x835339f4UL, 0x9c845f8bUL, 0xbdf9283bUL, 0x1ff897ffUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   325
    0xde05980fUL, 0xef2f118bUL, 0x5a0a6d1fUL, 0x6d367ecfUL, 0x27cb09b7UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   326
    0x4f463f66UL, 0x9e5fea2dUL, 0x7527bac7UL, 0xebe5f17bUL, 0x3d0739f7UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   327
    0x8a5292eaUL, 0x6bfb5fb1UL, 0x1f8d5d08UL, 0x56033046UL, 0xfc7b6babUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   328
    0xf0cfbc21UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   329
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   330
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   331
ATTRIBUTE_ALIGNED(8) juint StubRoutines::x86::_PI_4[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   332
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   333
    0x40000000UL, 0x3fe921fbUL, 0x18469899UL, 0x3e64442dUL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   334
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   335
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   336
ATTRIBUTE_ALIGNED(8) juint StubRoutines::x86::_PI32INV[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   337
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   338
    0x6dc9c883UL, 0x40245f30UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   339
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   340
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   341
ATTRIBUTE_ALIGNED(8) juint _SHIFTER[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   342
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   343
    0x00000000UL, 0x43380000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   344
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   345
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   346
ATTRIBUTE_ALIGNED(8) juint StubRoutines::x86::_SIGN_MASK[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   347
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   348
    0x00000000UL, 0x80000000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   349
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   350
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   351
ATTRIBUTE_ALIGNED(8) juint StubRoutines::x86::_P_3[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   352
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   353
    0x2e037073UL, 0x3b63198aUL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   354
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   355
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   356
ATTRIBUTE_ALIGNED(8) juint _ALL_ONES[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   357
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   358
    0xffffffffUL, 0x3fefffffUL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   359
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   360
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   361
ATTRIBUTE_ALIGNED(8) juint _TWO_POW_55[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   362
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   363
    0x00000000UL, 0x43600000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   364
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   365
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   366
ATTRIBUTE_ALIGNED(8) juint _TWO_POW_M55[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   367
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   368
    0x00000000UL, 0x3c800000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   369
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   370
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   371
ATTRIBUTE_ALIGNED(8) juint StubRoutines::x86::_P_1[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   372
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   373
    0x54400000UL, 0x3fb921fbUL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   374
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   375
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   376
ATTRIBUTE_ALIGNED(8) juint StubRoutines::x86::_NEG_ZERO[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   377
{
38181
735e63dd7c95 8155864: api/java_lang/Math/cos_cos6 and sin_sin6 fail
vdeshpande
parents: 38018
diff changeset
   378
    0x00000000UL, 0x80000000UL
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   379
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   380
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   381
void MacroAssembler::fast_sin(XMMRegister xmm0, XMMRegister xmm1, XMMRegister xmm2, XMMRegister xmm3, XMMRegister xmm4, XMMRegister xmm5, XMMRegister xmm6, XMMRegister xmm7, Register eax, Register ebx, Register ecx, Register edx, Register tmp1, Register tmp2, Register tmp3, Register tmp4) {
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   382
  Label L_2TAG_PACKET_0_0_1, L_2TAG_PACKET_1_0_1, L_2TAG_PACKET_2_0_1, L_2TAG_PACKET_3_0_1;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   383
  Label L_2TAG_PACKET_4_0_1, L_2TAG_PACKET_5_0_1, L_2TAG_PACKET_6_0_1, L_2TAG_PACKET_7_0_1;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   384
  Label L_2TAG_PACKET_8_0_1, L_2TAG_PACKET_9_0_1, L_2TAG_PACKET_10_0_1, L_2TAG_PACKET_11_0_1;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   385
  Label L_2TAG_PACKET_13_0_1, L_2TAG_PACKET_14_0_1;
51756
4bd35a5ec694 8210676: Remove some unused Label variables
mikael
parents: 50120
diff changeset
   386
  Label L_2TAG_PACKET_12_0_1, B1_4, start;
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   387
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   388
  assert_different_registers(tmp1, tmp2, tmp3, tmp4, eax, ebx, ecx, edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   389
  address ONEHALF = StubRoutines::x86::_ONEHALF_addr();
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   390
  address P_2 = StubRoutines::x86::_P_2_addr();
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   391
  address SC_4 = StubRoutines::x86::_SC_4_addr();
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   392
  address Ctable = StubRoutines::x86::_Ctable_addr();
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   393
  address SC_2 = StubRoutines::x86::_SC_2_addr();
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   394
  address SC_3 = StubRoutines::x86::_SC_3_addr();
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   395
  address SC_1 = StubRoutines::x86::_SC_1_addr();
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   396
  address PI_INV_TABLE = StubRoutines::x86::_PI_INV_TABLE_addr();
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   397
  address PI_4 = (address)StubRoutines::x86::_PI_4_addr();
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   398
  address PI32INV = (address)StubRoutines::x86::_PI32INV_addr();
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   399
  address SHIFTER = (address)_SHIFTER;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   400
  address SIGN_MASK = (address)StubRoutines::x86::_SIGN_MASK_addr();
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   401
  address P_3 = (address)StubRoutines::x86::_P_3_addr();
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   402
  address ALL_ONES = (address)_ALL_ONES;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   403
  address TWO_POW_55 = (address)_TWO_POW_55;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   404
  address TWO_POW_M55 = (address)_TWO_POW_M55;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   405
  address P_1 = (address)StubRoutines::x86::_P_1_addr();
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   406
  address NEG_ZERO = (address)StubRoutines::x86::_NEG_ZERO_addr();
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   407
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   408
  bind(start);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   409
  push(rbx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   410
  subq(rsp, 16);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   411
  movsd(Address(rsp, 8), xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   412
  movl(eax, Address(rsp, 12));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   413
  movq(xmm1, ExternalAddress(PI32INV));    //0x6dc9c883UL, 0x40245f30UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   414
  movq(xmm2, ExternalAddress(SHIFTER));    //0x00000000UL, 0x43380000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   415
  andl(eax, 2147418112);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   416
  subl(eax, 808452096);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   417
  cmpl(eax, 281346048);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   418
  jcc(Assembler::above, L_2TAG_PACKET_0_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   419
  mulsd(xmm1, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   420
  movdqu(xmm5, ExternalAddress(ONEHALF));    //0x00000000UL, 0x3fe00000UL, 0x00000000UL, 0x3fe00000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   421
  movq(xmm4, ExternalAddress(SIGN_MASK));    //0x00000000UL, 0x80000000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   422
  pand(xmm4, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   423
  por(xmm5, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   424
  addpd(xmm1, xmm5);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   425
  cvttsd2sil(edx, xmm1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   426
  cvtsi2sdl(xmm1, edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   427
  movdqu(xmm6, ExternalAddress(P_2));    //0x1a600000UL, 0x3d90b461UL, 0x1a600000UL, 0x3d90b461UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   428
  mov64(r8, 0x3fb921fb54400000);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   429
  movdq(xmm3, r8);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   430
  movdqu(xmm5, ExternalAddress(SC_4));    //0xa556c734UL, 0x3ec71de3UL, 0x1a01a01aUL, 0x3efa01a0UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   431
  pshufd(xmm4, xmm0, 68);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   432
  mulsd(xmm3, xmm1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   433
  if (VM_Version::supports_sse3()) {
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   434
    movddup(xmm1, xmm1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   435
  }
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   436
  else {
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   437
    movlhps(xmm1, xmm1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   438
  }
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   439
  andl(edx, 63);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   440
  shll(edx, 5);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   441
  lea(rax, ExternalAddress(Ctable));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   442
  addq(rax, rdx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   443
  mulpd(xmm6, xmm1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   444
  mulsd(xmm1, ExternalAddress(P_3));    //0x2e037073UL, 0x3b63198aUL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   445
  subsd(xmm4, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   446
  movq(xmm7, Address(rax, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   447
  subsd(xmm0, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   448
  if (VM_Version::supports_sse3()) {
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   449
    movddup(xmm3, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   450
  }
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   451
  else {
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   452
    movdqu(xmm3, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   453
    movlhps(xmm3, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   454
  }
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   455
  subsd(xmm4, xmm6);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   456
  pshufd(xmm0, xmm0, 68);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   457
  movdqu(xmm2, Address(rax, 0));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   458
  mulpd(xmm5, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   459
  subpd(xmm0, xmm6);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   460
  mulsd(xmm7, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   461
  subsd(xmm3, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   462
  mulpd(xmm5, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   463
  mulpd(xmm0, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   464
  subsd(xmm3, xmm6);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   465
  movdqu(xmm6, ExternalAddress(SC_2));    //0x11111111UL, 0x3f811111UL, 0x55555555UL, 0x3fa55555UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   466
  subsd(xmm1, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   467
  movq(xmm3, Address(rax, 24));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   468
  addsd(xmm2, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   469
  subsd(xmm7, xmm2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   470
  mulsd(xmm2, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   471
  mulpd(xmm6, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   472
  mulsd(xmm3, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   473
  mulpd(xmm2, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   474
  mulpd(xmm0, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   475
  addpd(xmm5, ExternalAddress(SC_3));    //0x1a01a01aUL, 0xbf2a01a0UL, 0x16c16c17UL, 0xbf56c16cUL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   476
  mulsd(xmm4, Address(rax, 0));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   477
  addpd(xmm6, ExternalAddress(SC_1));    //0x55555555UL, 0xbfc55555UL, 0x00000000UL, 0xbfe00000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   478
  mulpd(xmm5, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   479
  movdqu(xmm0, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   480
  addsd(xmm3, Address(rax, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   481
  mulpd(xmm1, xmm7);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   482
  movdqu(xmm7, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   483
  addsd(xmm4, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   484
  addpd(xmm6, xmm5);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   485
  movq(xmm5, Address(rax, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   486
  subsd(xmm5, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   487
  subsd(xmm3, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   488
  addsd(xmm1, Address(rax, 16));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   489
  mulpd(xmm6, xmm2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   490
  addsd(xmm5, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   491
  addsd(xmm3, xmm7);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   492
  addsd(xmm1, xmm5);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   493
  addsd(xmm1, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   494
  addsd(xmm1, xmm6);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   495
  unpckhpd(xmm6, xmm6);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   496
  movdqu(xmm0, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   497
  addsd(xmm1, xmm6);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   498
  addsd(xmm0, xmm1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   499
  jmp(B1_4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   500
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   501
  bind(L_2TAG_PACKET_0_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   502
  jcc(Assembler::greater, L_2TAG_PACKET_1_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   503
  shrl(eax, 20);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   504
  cmpl(eax, 3325);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   505
  jcc(Assembler::notEqual, L_2TAG_PACKET_2_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   506
  mulsd(xmm0, ExternalAddress(ALL_ONES));    //0xffffffffUL, 0x3fefffffUL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   507
  jmp(B1_4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   508
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   509
  bind(L_2TAG_PACKET_2_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   510
  movq(xmm3, ExternalAddress(TWO_POW_55));    //0x00000000UL, 0x43600000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   511
  mulsd(xmm3, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   512
  subsd(xmm3, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   513
  mulsd(xmm3, ExternalAddress(TWO_POW_M55));    //0x00000000UL, 0x3c800000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   514
  jmp(B1_4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   515
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   516
  bind(L_2TAG_PACKET_1_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   517
  pextrw(eax, xmm0, 3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   518
  andl(eax, 32752);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   519
  cmpl(eax, 32752);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   520
  jcc(Assembler::equal, L_2TAG_PACKET_3_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   521
  pextrw(ecx, xmm0, 3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   522
  andl(ecx, 32752);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   523
  subl(ecx, 16224);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   524
  shrl(ecx, 7);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   525
  andl(ecx, 65532);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   526
  lea(r11, ExternalAddress(PI_INV_TABLE));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   527
  addq(rcx, r11);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   528
  movdq(rax, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   529
  movl(r10, Address(rcx, 20));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   530
  movl(r8, Address(rcx, 24));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   531
  movl(edx, eax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   532
  shrq(rax, 21);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   533
  orl(eax, INT_MIN);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   534
  shrl(eax, 11);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   535
  movl(r9, r10);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   536
  imulq(r10, rdx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   537
  imulq(r9, rax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   538
  imulq(r8, rax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   539
  movl(rsi, Address(rcx, 16));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   540
  movl(rdi, Address(rcx, 12));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   541
  movl(r11, r10);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   542
  shrq(r10, 32);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   543
  addq(r9, r10);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   544
  addq(r11, r8);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   545
  movl(r8, r11);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   546
  shrq(r11, 32);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   547
  addq(r9, r11);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   548
  movl(r10, rsi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   549
  imulq(rsi, rdx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   550
  imulq(r10, rax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   551
  movl(r11, rdi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   552
  imulq(rdi, rdx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   553
  movl(ebx, rsi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   554
  shrq(rsi, 32);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   555
  addq(r9, rbx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   556
  movl(ebx, r9);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   557
  shrq(r9, 32);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   558
  addq(r10, rsi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   559
  addq(r10, r9);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   560
  shlq(rbx, 32);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   561
  orq(r8, rbx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   562
  imulq(r11, rax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   563
  movl(r9, Address(rcx, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   564
  movl(rsi, Address(rcx, 4));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   565
  movl(ebx, rdi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   566
  shrq(rdi, 32);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   567
  addq(r10, rbx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   568
  movl(ebx, r10);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   569
  shrq(r10, 32);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   570
  addq(r11, rdi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   571
  addq(r11, r10);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   572
  movq(rdi, r9);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   573
  imulq(r9, rdx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   574
  imulq(rdi, rax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   575
  movl(r10, r9);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   576
  shrq(r9, 32);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   577
  addq(r11, r10);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   578
  movl(r10, r11);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   579
  shrq(r11, 32);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   580
  addq(rdi, r9);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   581
  addq(rdi, r11);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   582
  movq(r9, rsi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   583
  imulq(rsi, rdx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   584
  imulq(r9, rax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   585
  shlq(r10, 32);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   586
  orq(r10, rbx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   587
  movl(eax, Address(rcx, 0));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   588
  movl(r11, rsi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   589
  shrq(rsi, 32);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   590
  addq(rdi, r11);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   591
  movl(r11, rdi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   592
  shrq(rdi, 32);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   593
  addq(r9, rsi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   594
  addq(r9, rdi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   595
  imulq(rdx, rax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   596
  pextrw(ebx, xmm0, 3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   597
  lea(rdi, ExternalAddress(PI_INV_TABLE));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   598
  subq(rcx, rdi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   599
  addl(ecx, ecx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   600
  addl(ecx, ecx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   601
  addl(ecx, ecx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   602
  addl(ecx, 19);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   603
  movl(rsi, 32768);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   604
  andl(rsi, ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   605
  shrl(ebx, 4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   606
  andl(ebx, 2047);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   607
  subl(ebx, 1023);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   608
  subl(ecx, ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   609
  addq(r9, rdx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   610
  movl(edx, ecx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   611
  addl(edx, 32);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   612
  cmpl(ecx, 1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   613
  jcc(Assembler::less, L_2TAG_PACKET_4_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   614
  negl(ecx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   615
  addl(ecx, 29);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   616
  shll(r9);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   617
  movl(rdi, r9);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   618
  andl(r9, 536870911);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   619
  testl(r9, 268435456);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   620
  jcc(Assembler::notEqual, L_2TAG_PACKET_5_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   621
  shrl(r9);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   622
  movl(ebx, 0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   623
  shlq(r9, 32);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   624
  orq(r9, r11);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   625
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   626
  bind(L_2TAG_PACKET_6_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   627
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   628
  bind(L_2TAG_PACKET_7_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   629
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   630
  cmpq(r9, 0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   631
  jcc(Assembler::equal, L_2TAG_PACKET_8_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   632
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   633
  bind(L_2TAG_PACKET_9_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   634
  bsrq(r11, r9);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   635
  movl(ecx, 29);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   636
  subl(ecx, r11);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   637
  jcc(Assembler::lessEqual, L_2TAG_PACKET_10_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   638
  shlq(r9);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   639
  movq(rax, r10);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   640
  shlq(r10);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   641
  addl(edx, ecx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   642
  negl(ecx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   643
  addl(ecx, 64);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   644
  shrq(rax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   645
  shrq(r8);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   646
  orq(r9, rax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   647
  orq(r10, r8);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   648
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   649
  bind(L_2TAG_PACKET_11_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   650
  cvtsi2sdq(xmm0, r9);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   651
  shrq(r10, 1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   652
  cvtsi2sdq(xmm3, r10);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   653
  xorpd(xmm4, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   654
  shll(edx, 4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   655
  negl(edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   656
  addl(edx, 16368);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   657
  orl(edx, rsi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   658
  xorl(edx, ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   659
  pinsrw(xmm4, edx, 3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   660
  movq(xmm2, ExternalAddress(PI_4));    //0x40000000UL, 0x3fe921fbUL, 0x18469899UL, 0x3e64442dUL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   661
  movq(xmm6, ExternalAddress(8 + PI_4));    //0x3fe921fbUL, 0x18469899UL, 0x3e64442dUL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   662
  xorpd(xmm5, xmm5);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   663
  subl(edx, 1008);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   664
  pinsrw(xmm5, edx, 3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   665
  mulsd(xmm0, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   666
  shll(rsi, 16);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   667
  sarl(rsi, 31);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   668
  mulsd(xmm3, xmm5);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   669
  movdqu(xmm1, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   670
  mulsd(xmm0, xmm2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   671
  shrl(rdi, 29);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   672
  addsd(xmm1, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   673
  mulsd(xmm3, xmm2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   674
  addl(rdi, rsi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   675
  xorl(rdi, rsi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   676
  mulsd(xmm6, xmm1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   677
  movl(eax, rdi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   678
  addsd(xmm6, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   679
  movdqu(xmm2, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   680
  addsd(xmm0, xmm6);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   681
  subsd(xmm2, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   682
  addsd(xmm6, xmm2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   683
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   684
  bind(L_2TAG_PACKET_12_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   685
  movq(xmm1, ExternalAddress(PI32INV));    //0x6dc9c883UL, 0x40245f30UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   686
  mulsd(xmm1, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   687
  movq(xmm5, ExternalAddress(ONEHALF));    //0x00000000UL, 0x3fe00000UL, 0x00000000UL, 0x3fe00000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   688
  movq(xmm4, ExternalAddress(SIGN_MASK));    //0x00000000UL, 0x80000000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   689
  pand(xmm4, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   690
  por(xmm5, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   691
  addpd(xmm1, xmm5);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   692
  cvttsd2sil(edx, xmm1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   693
  cvtsi2sdl(xmm1, edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   694
  movq(xmm3, ExternalAddress(P_1));    //0x54400000UL, 0x3fb921fbUL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   695
  movdqu(xmm2, ExternalAddress(P_2));    //0x1a600000UL, 0x3d90b461UL, 0x1a600000UL, 0x3d90b461UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   696
  mulsd(xmm3, xmm1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   697
  unpcklpd(xmm1, xmm1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   698
  shll(eax, 3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   699
  addl(edx, 1865216);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   700
  movdqu(xmm4, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   701
  addl(edx, eax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   702
  andl(edx, 63);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   703
  movdqu(xmm5, ExternalAddress(SC_4));    //0x54400000UL, 0x3fb921fbUL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   704
  lea(rax, ExternalAddress(Ctable));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   705
  shll(edx, 5);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   706
  addq(rax, rdx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   707
  mulpd(xmm2, xmm1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   708
  subsd(xmm0, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   709
  mulsd(xmm1, ExternalAddress(P_3));    //0x2e037073UL, 0x3b63198aUL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   710
  subsd(xmm4, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   711
  movq(xmm7, Address(rax, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   712
  unpcklpd(xmm0, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   713
  movdqu(xmm3, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   714
  subsd(xmm4, xmm2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   715
  mulpd(xmm5, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   716
  subpd(xmm0, xmm2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   717
  mulsd(xmm7, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   718
  subsd(xmm3, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   719
  mulpd(xmm5, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   720
  mulpd(xmm0, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   721
  subsd(xmm3, xmm2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   722
  movdqu(xmm2, Address(rax, 0));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   723
  subsd(xmm1, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   724
  movq(xmm3, Address(rax, 24));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   725
  addsd(xmm2, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   726
  subsd(xmm7, xmm2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   727
  subsd(xmm1, xmm6);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   728
  movdqu(xmm6, ExternalAddress(SC_2));    //0x11111111UL, 0x3f811111UL, 0x55555555UL, 0x3fa55555UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   729
  mulsd(xmm2, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   730
  mulpd(xmm6, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   731
  mulsd(xmm3, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   732
  mulpd(xmm2, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   733
  mulpd(xmm0, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   734
  addpd(xmm5, ExternalAddress(SC_3));    //0x1a01a01aUL, 0xbf2a01a0UL, 0x16c16c17UL, 0xbf56c16cUL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   735
  mulsd(xmm4, Address(rax, 0));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   736
  addpd(xmm6, ExternalAddress(SC_1));    //0x55555555UL, 0xbfc55555UL, 0x00000000UL, 0xbfe00000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   737
  mulpd(xmm5, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   738
  movdqu(xmm0, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   739
  addsd(xmm3, Address(rax, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   740
  mulpd(xmm1, xmm7);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   741
  movdqu(xmm7, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   742
  addsd(xmm4, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   743
  addpd(xmm6, xmm5);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   744
  movq(xmm5, Address(rax, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   745
  subsd(xmm5, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   746
  subsd(xmm3, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   747
  addsd(xmm1, Address(rax, 16));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   748
  mulpd(xmm6, xmm2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   749
  addsd(xmm5, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   750
  addsd(xmm3, xmm7);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   751
  addsd(xmm1, xmm5);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   752
  addsd(xmm1, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   753
  addsd(xmm1, xmm6);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   754
  unpckhpd(xmm6, xmm6);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   755
  movdqu(xmm0, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   756
  addsd(xmm1, xmm6);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   757
  addsd(xmm0, xmm1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   758
  jmp(B1_4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   759
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   760
  bind(L_2TAG_PACKET_8_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   761
  addl(edx, 64);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   762
  movq(r9, r10);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   763
  movq(r10, r8);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   764
  movl(r8, 0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   765
  cmpq(r9, 0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   766
  jcc(Assembler::notEqual, L_2TAG_PACKET_9_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   767
  addl(edx, 64);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   768
  movq(r9, r10);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   769
  movq(r10, r8);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   770
  cmpq(r9, 0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   771
  jcc(Assembler::notEqual, L_2TAG_PACKET_9_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   772
  xorpd(xmm0, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   773
  xorpd(xmm6, xmm6);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   774
  jmp(L_2TAG_PACKET_12_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   775
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   776
  bind(L_2TAG_PACKET_10_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   777
  jcc(Assembler::equal, L_2TAG_PACKET_11_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   778
  negl(ecx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   779
  shrq(r10);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   780
  movq(rax, r9);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   781
  shrq(r9);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   782
  subl(edx, ecx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   783
  negl(ecx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   784
  addl(ecx, 64);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   785
  shlq(rax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   786
  orq(r10, rax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   787
  jmp(L_2TAG_PACKET_11_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   788
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   789
  bind(L_2TAG_PACKET_4_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   790
  negl(ecx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   791
  shlq(r9, 32);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   792
  orq(r9, r11);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   793
  shlq(r9);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   794
  movq(rdi, r9);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   795
  testl(r9, INT_MIN);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   796
  jcc(Assembler::notEqual, L_2TAG_PACKET_13_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   797
  shrl(r9);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   798
  movl(ebx, 0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   799
  shrq(rdi, 3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   800
  jmp(L_2TAG_PACKET_7_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   801
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   802
  bind(L_2TAG_PACKET_5_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   803
  shrl(r9);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   804
  movl(ebx, 536870912);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   805
  shrl(ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   806
  shlq(r9, 32);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   807
  orq(r9, r11);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   808
  shlq(rbx, 32);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   809
  addl(rdi, 536870912);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   810
  movl(rcx, 0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   811
  movl(r11, 0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   812
  subq(rcx, r8);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   813
  sbbq(r11, r10);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   814
  sbbq(rbx, r9);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   815
  movq(r8, rcx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   816
  movq(r10, r11);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   817
  movq(r9, rbx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   818
  movl(ebx, 32768);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   819
  jmp(L_2TAG_PACKET_6_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   820
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   821
  bind(L_2TAG_PACKET_13_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   822
  shrl(r9);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   823
  mov64(rbx, 0x100000000);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   824
  shrq(rbx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   825
  movl(rcx, 0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   826
  movl(r11, 0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   827
  subq(rcx, r8);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   828
  sbbq(r11, r10);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   829
  sbbq(rbx, r9);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   830
  movq(r8, rcx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   831
  movq(r10, r11);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   832
  movq(r9, rbx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   833
  movl(ebx, 32768);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   834
  shrq(rdi, 3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   835
  addl(rdi, 536870912);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   836
  jmp(L_2TAG_PACKET_7_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   837
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   838
  bind(L_2TAG_PACKET_3_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   839
  movq(xmm0, Address(rsp, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   840
  mulsd(xmm0, ExternalAddress(NEG_ZERO));    //0x00000000UL, 0x80000000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   841
  movq(Address(rsp, 0), xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   842
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   843
  bind(L_2TAG_PACKET_14_0_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   844
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   845
  bind(B1_4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   846
  addq(rsp, 16);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   847
  pop(rbx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   848
}
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   849
#else
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   850
// The 32 bit code is at most SSE2 compliant
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   851
ATTRIBUTE_ALIGNED(8) juint _zero_none[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   852
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   853
    0x00000000UL, 0x00000000UL, 0x00000000UL, 0xbff00000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   854
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   855
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   856
ATTRIBUTE_ALIGNED(4) juint __4onpi_d[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   857
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   858
    0x6dc9c883UL, 0x3ff45f30UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   859
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   860
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   861
ATTRIBUTE_ALIGNED(4) juint _TWO_32H[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   862
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   863
    0x00000000UL, 0x41f80000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   864
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   865
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   866
ATTRIBUTE_ALIGNED(4) juint _pi04_3d[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   867
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   868
    0x54442d00UL, 0x3fe921fbUL, 0x98cc5180UL, 0x3ce84698UL, 0xcbb5bf6cUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   869
    0xb9dfc8f8UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   870
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   871
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   872
ATTRIBUTE_ALIGNED(4) juint _pi04_5d[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   873
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   874
    0x54400000UL, 0x3fe921fbUL, 0x1a600000UL, 0x3dc0b461UL, 0x2e000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   875
    0x3b93198aUL, 0x25200000UL, 0x396b839aUL, 0x533e63a0UL, 0x37027044UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   876
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   877
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   878
ATTRIBUTE_ALIGNED(4) juint _SCALE[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   879
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   880
    0x00000000UL, 0x32600000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   881
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   882
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   883
ATTRIBUTE_ALIGNED(4) juint _zeros[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   884
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   885
    0x00000000UL, 0x00000000UL, 0x00000000UL, 0x80000000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   886
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   887
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   888
ATTRIBUTE_ALIGNED(4) juint _pi04_2d[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   889
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   890
    0x54400000UL, 0x3fe921fbUL, 0x1a626331UL, 0x3dc0b461UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   891
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   892
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   893
ATTRIBUTE_ALIGNED(4) juint _TWO_12H[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   894
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   895
    0x00000000UL, 0x40b80000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   896
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   897
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
   898
ATTRIBUTE_ALIGNED(2) jushort __4onpi_31l[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   899
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   900
    0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x836e, 0xa2f9,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   901
    0x40d8, 0x0000, 0x0000, 0x0000, 0x2a50, 0x9c88, 0x40b7, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   902
    0xabe8, 0xfe13, 0x4099, 0x0000, 0x0000, 0x0000, 0x6ee0, 0xfa9a, 0x4079, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   903
    0x0000, 0x0000, 0x9580, 0xdb62, 0x4058, 0x0000, 0x0000, 0x0000, 0x1c82, 0xc9e2,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   904
    0x403d, 0x0000, 0x0000, 0x0000, 0xb1c0, 0xff28, 0x4019, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   905
    0xef14, 0xaf7a, 0x3ffe, 0x0000, 0x0000, 0x0000, 0x48dc, 0xc36e, 0x3fdf, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   906
    0x0000, 0x0000, 0x3740, 0xe909, 0x3fbe, 0x0000, 0x0000, 0x0000, 0x924a, 0xb801,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   907
    0x3fa2, 0x0000, 0x0000, 0x0000, 0x3a32, 0xdd41, 0x3f83, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   908
    0x8778, 0x873f, 0x3f62, 0x0000, 0x0000, 0x0000, 0x1298, 0xb1cb, 0x3f44, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   909
    0x0000, 0x0000, 0xa208, 0x9cfb, 0x3f26, 0x0000, 0x0000, 0x0000, 0xbaec, 0xd7d4,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   910
    0x3f06, 0x0000, 0x0000, 0x0000, 0xd338, 0x8909, 0x3ee7, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   911
    0x68b8, 0xe04d, 0x3ec7, 0x0000, 0x0000, 0x0000, 0x4e64, 0xdf90, 0x3eaa, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   912
    0x0000, 0x0000, 0xc1a8, 0xeb1c, 0x3e89, 0x0000, 0x0000, 0x0000, 0x2720, 0xce7d,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   913
    0x3e6a, 0x0000, 0x0000, 0x0000, 0x77b8, 0x8bf1, 0x3e4b, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   914
    0xec7e, 0xe4a0, 0x3e2e, 0x0000, 0x0000, 0x0000, 0xffbc, 0xf12f, 0x3e0f, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   915
    0x0000, 0x0000, 0xfdc0, 0xb301, 0x3deb, 0x0000, 0x0000, 0x0000, 0xc5ac, 0x9788,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   916
    0x3dd1, 0x0000, 0x0000, 0x0000, 0x47da, 0x829b, 0x3db2, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   917
    0xd9e4, 0xa6cf, 0x3d93, 0x0000, 0x0000, 0x0000, 0x36e8, 0xf961, 0x3d73, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   918
    0x0000, 0x0000, 0xf668, 0xf463, 0x3d54, 0x0000, 0x0000, 0x0000, 0x5168, 0xf2ff,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   919
    0x3d35, 0x0000, 0x0000, 0x0000, 0x758e, 0xea4f, 0x3d17, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   920
    0xf17a, 0xebe5, 0x3cf8, 0x0000, 0x0000, 0x0000, 0x9cfa, 0x9e83, 0x3cd9, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   921
    0x0000, 0x0000, 0xa4ba, 0xe294, 0x3cba, 0x0000, 0x0000, 0x0000, 0xd7ec, 0x9afe,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   922
    0x3c9a, 0x0000, 0x0000, 0x0000, 0xae80, 0x8fc6, 0x3c79, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   923
    0x3304, 0x8560, 0x3c5c, 0x0000, 0x0000, 0x0000, 0x6d70, 0xdf8f, 0x3c3b, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   924
    0x0000, 0x0000, 0x3ef0, 0xafc3, 0x3c1e, 0x0000, 0x0000, 0x0000, 0xd0d8, 0x826b,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   925
    0x3bfe, 0x0000, 0x0000, 0x0000, 0x1c80, 0xed4f, 0x3bdd, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   926
    0x730c, 0xb0af, 0x3bc1, 0x0000, 0x0000, 0x0000, 0x6660, 0xc219, 0x3ba2, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   927
    0x0000, 0x0000, 0x940c, 0xabe2, 0x3b83, 0x0000, 0x0000, 0x0000, 0xdffc, 0x8408,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   928
    0x3b64, 0x0000, 0x0000, 0x0000, 0x6b98, 0xc402, 0x3b45, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   929
    0x1818, 0x9cc4, 0x3b26, 0x0000, 0x0000, 0x0000, 0x5390, 0xaab6, 0x3b05, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   930
    0x0000, 0x0000, 0xb070, 0xd464, 0x3ae9, 0x0000, 0x0000, 0x0000, 0x231a, 0x9ef0,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   931
    0x3aca, 0x0000, 0x0000, 0x0000, 0x0670, 0xd1f1, 0x3aaa, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   932
    0x7738, 0xd9f3, 0x3a8a, 0x0000, 0x0000, 0x0000, 0xa834, 0x8092, 0x3a6c, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   933
    0x0000, 0x0000, 0xb45c, 0xce23, 0x3a4d, 0x0000, 0x0000, 0x0000, 0x36e8, 0xb0e5,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   934
    0x3a2d, 0x0000, 0x0000, 0x0000, 0xd156, 0xaf44, 0x3a10, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   935
    0x9f52, 0x8c82, 0x39f1, 0x0000, 0x0000, 0x0000, 0x829c, 0xff83, 0x39d1, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   936
    0x0000, 0x0000, 0x7d06, 0xefc6, 0x39b3, 0x0000, 0x0000, 0x0000, 0x93e0, 0xb0b7,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   937
    0x3992, 0x0000, 0x0000, 0x0000, 0xedde, 0xc193, 0x3975, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   938
    0xbbc0, 0xcf49, 0x3952, 0x0000, 0x0000, 0x0000, 0xbdf0, 0xd63c, 0x3937, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   939
    0x0000, 0x0000, 0x1f34, 0x9f3a, 0x3918, 0x0000, 0x0000, 0x0000, 0x3f8e, 0xe579,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   940
    0x38f9, 0x0000, 0x0000, 0x0000, 0x90c8, 0xc3f8, 0x38d9, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   941
    0x48c0, 0xf8f8, 0x38b7, 0x0000, 0x0000, 0x0000, 0xed56, 0xafa6, 0x389c, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   942
    0x0000, 0x0000, 0x8218, 0xb969, 0x387d, 0x0000, 0x0000, 0x0000, 0x1852, 0xec57,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   943
    0x385e, 0x0000, 0x0000, 0x0000, 0x670c, 0xd674, 0x383e, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   944
    0xad40, 0xc2c4, 0x3820, 0x0000, 0x0000, 0x0000, 0x2e80, 0xa696, 0x3801, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   945
    0x0000, 0x0000, 0xd800, 0xc467, 0x37dc, 0x0000, 0x0000, 0x0000, 0x3c72, 0xc5ae,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   946
    0x37c3, 0x0000, 0x0000, 0x0000, 0xb006, 0xac69, 0x37a4, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   947
    0x34a0, 0x8cdf, 0x3782, 0x0000, 0x0000, 0x0000, 0x9ed2, 0xd25e, 0x3766, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   948
    0x0000, 0x0000, 0x6fec, 0xaaaa, 0x3747, 0x0000, 0x0000, 0x0000, 0x6040, 0xfb5c,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   949
    0x3726, 0x0000, 0x0000, 0x0000, 0x764c, 0xa3fc, 0x3708, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   950
    0xb254, 0x954e, 0x36e9, 0x0000, 0x0000, 0x0000, 0x3e1c, 0xf5dc, 0x36ca, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   951
    0x0000, 0x0000, 0x7b06, 0xc635, 0x36ac, 0x0000, 0x0000, 0x0000, 0xa8ba, 0xd738,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   952
    0x368d, 0x0000, 0x0000, 0x0000, 0x06cc, 0xb24e, 0x366d, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   953
    0x7108, 0xac76, 0x364f, 0x0000, 0x0000, 0x0000, 0x2324, 0xa7cb, 0x3630, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   954
    0x0000, 0x0000, 0xac40, 0xef15, 0x360f, 0x0000, 0x0000, 0x0000, 0xae46, 0xd516,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   955
    0x35f2, 0x0000, 0x0000, 0x0000, 0x615e, 0xe003, 0x35d3, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   956
    0x0cf0, 0xefe7, 0x35b1, 0x0000, 0x0000, 0x0000, 0xfb50, 0xf98c, 0x3595, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   957
    0x0000, 0x0000, 0x0abc, 0xf333, 0x3575, 0x0000, 0x0000, 0x0000, 0xdd60, 0xca3f,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   958
    0x3555, 0x0000, 0x0000, 0x0000, 0x7eb6, 0xd87f, 0x3538, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   959
    0x44f4, 0xb291, 0x3519, 0x0000, 0x0000, 0x0000, 0xff80, 0xc982, 0x34f6, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   960
    0x0000, 0x0000, 0x9de0, 0xd9b8, 0x34db, 0x0000, 0x0000, 0x0000, 0xcd42, 0x9366,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   961
    0x34bc, 0x0000, 0x0000, 0x0000, 0xbef0, 0xfaee, 0x349d, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   962
    0xdac4, 0xb6f1, 0x347d, 0x0000, 0x0000, 0x0000, 0xf140, 0x94de, 0x345d, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   963
    0x0000, 0x0000, 0xa218, 0x8b4b, 0x343e, 0x0000, 0x0000, 0x0000, 0x6380, 0xa135,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   964
    0x341e, 0x0000, 0x0000, 0x0000, 0xb184, 0x8cb2, 0x3402, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   965
    0x196e, 0xdc61, 0x33e3, 0x0000, 0x0000, 0x0000, 0x0c00, 0xde05, 0x33c4, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   966
    0x0000, 0x0000, 0xef9a, 0xbd38, 0x33a5, 0x0000, 0x0000, 0x0000, 0xc1a0, 0xdf00,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   967
    0x3385, 0x0000, 0x0000, 0x0000, 0x1090, 0x9973, 0x3365, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   968
    0x4882, 0x8301, 0x3348, 0x0000, 0x0000, 0x0000, 0x7abe, 0xadc7, 0x3329, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   969
    0x0000, 0x0000, 0x7cba, 0xec2b, 0x330a, 0x0000, 0x0000, 0x0000, 0xa520, 0x8f21,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   970
    0x32e9, 0x0000, 0x0000, 0x0000, 0x710c, 0x8d36, 0x32cc, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   971
    0x5212, 0xc6ed, 0x32ad, 0x0000, 0x0000, 0x0000, 0x7308, 0xfd76, 0x328d, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   972
    0x0000, 0x0000, 0x5014, 0xd548, 0x326f, 0x0000, 0x0000, 0x0000, 0xd3f2, 0xb499,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   973
    0x3250, 0x0000, 0x0000, 0x0000, 0x7f74, 0xa606, 0x3230, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   974
    0xf0a8, 0xd720, 0x3212, 0x0000, 0x0000, 0x0000, 0x185c, 0xe20f, 0x31f2, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   975
    0x0000, 0x0000, 0xa5a8, 0x8738, 0x31d4, 0x0000, 0x0000, 0x0000, 0xdd74, 0xcafb,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   976
    0x31b4, 0x0000, 0x0000, 0x0000, 0x98b6, 0xbd8e, 0x3196, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   977
    0xe9de, 0x977f, 0x3177, 0x0000, 0x0000, 0x0000, 0x67c0, 0x818d, 0x3158, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   978
    0x0000, 0x0000, 0xe52a, 0x9322, 0x3139, 0x0000, 0x0000, 0x0000, 0xe568, 0x9b6c,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   979
    0x3119, 0x0000, 0x0000, 0x0000, 0x2358, 0xaa0a, 0x30fa, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   980
    0xe480, 0xe13b, 0x30d9, 0x0000, 0x0000, 0x0000, 0x3024, 0x90a1, 0x30bd, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   981
    0x0000, 0x0000, 0x9620, 0xda30, 0x309d, 0x0000, 0x0000, 0x0000, 0x898a, 0xb388,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   982
    0x307f, 0x0000, 0x0000, 0x0000, 0xb24c, 0xc891, 0x3060, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   983
    0x8056, 0xf98b, 0x3041, 0x0000, 0x0000, 0x0000, 0x72a4, 0xa1ea, 0x3021, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   984
    0x0000, 0x0000, 0x6af8, 0x9488, 0x3001, 0x0000, 0x0000, 0x0000, 0xe00c, 0xdfcb,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   985
    0x2fe4, 0x0000, 0x0000, 0x0000, 0xeeec, 0xc941, 0x2fc4, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   986
    0x53e0, 0xe70f, 0x2fa4, 0x0000, 0x0000, 0x0000, 0x8f60, 0x9c07, 0x2f85, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   987
    0x0000, 0x0000, 0xb328, 0xc3e7, 0x2f68, 0x0000, 0x0000, 0x0000, 0x9404, 0xf8c7,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   988
    0x2f48, 0x0000, 0x0000, 0x0000, 0x38e0, 0xc99f, 0x2f29, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   989
    0x9778, 0xd984, 0x2f09, 0x0000, 0x0000, 0x0000, 0xe700, 0xd142, 0x2eea, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   990
    0x0000, 0x0000, 0xd904, 0x9443, 0x2ecd, 0x0000, 0x0000, 0x0000, 0xd4ba, 0xae7e,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   991
    0x2eae, 0x0000, 0x0000, 0x0000, 0x8e5e, 0x8524, 0x2e8f, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   992
    0xb550, 0xc9ed, 0x2e6e, 0x0000, 0x0000, 0x0000, 0x53b8, 0x8648, 0x2e51, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   993
    0x0000, 0x0000, 0xdae4, 0x87f9, 0x2e32, 0x0000, 0x0000, 0x0000, 0x2942, 0xd966,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   994
    0x2e13, 0x0000, 0x0000, 0x0000, 0x4f28, 0xcf3c, 0x2df3, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   995
    0xfa40, 0xc4ef, 0x2dd1, 0x0000, 0x0000, 0x0000, 0x4424, 0xbca7, 0x2db5, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   996
    0x0000, 0x0000, 0x2e62, 0xcdc5, 0x2d97, 0x0000, 0x0000, 0x0000, 0xed88, 0x996b,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   997
    0x2d78, 0x0000, 0x0000, 0x0000, 0x7c30, 0xd97d, 0x2d56, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   998
    0xed26, 0xbf6e, 0x2d3a, 0x0000, 0x0000, 0x0000, 0x2918, 0x921b, 0x2d1a, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
   999
    0x0000, 0x0000, 0x4e24, 0xe84e, 0x2cfb, 0x0000, 0x0000, 0x0000, 0x6dc0, 0x92ec,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1000
    0x2cdd, 0x0000, 0x0000, 0x0000, 0x4f2c, 0xacf8, 0x2cbd, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1001
    0xc634, 0xf094, 0x2c9e, 0x0000, 0x0000, 0x0000, 0xdc70, 0xe5d3, 0x2c7e, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1002
    0x0000, 0x0000, 0x2180, 0xa600, 0x2c5b, 0x0000, 0x0000, 0x0000, 0x8480, 0xd680,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1003
    0x2c3c, 0x0000, 0x0000, 0x0000, 0x8b24, 0xd63b, 0x2c22, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1004
    0x02e0, 0xaa47, 0x2c00, 0x0000, 0x0000, 0x0000, 0x9ad0, 0xee84, 0x2be3, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1005
    0x0000, 0x0000, 0xf7dc, 0xf699, 0x2bc6, 0x0000, 0x0000, 0x0000, 0xddde, 0xe490,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1006
    0x2ba7, 0x0000, 0x0000, 0x0000, 0x34a0, 0xb4fd, 0x2b85, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1007
    0x91b4, 0x8ef6, 0x2b68, 0x0000, 0x0000, 0x0000, 0xa3e0, 0xa2a7, 0x2b47, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1008
    0x0000, 0x0000, 0xcce4, 0x82b3, 0x2b2a, 0x0000, 0x0000, 0x0000, 0xe4be, 0x8207,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1009
    0x2b0c, 0x0000, 0x0000, 0x0000, 0x1d92, 0xab43, 0x2aed, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1010
    0xe818, 0xf9f6, 0x2acd, 0x0000, 0x0000, 0x0000, 0xff12, 0xba80, 0x2aaf, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1011
    0x0000, 0x0000, 0x5254, 0x8529, 0x2a90, 0x0000, 0x0000, 0x0000, 0x1b88, 0xe032,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1012
    0x2a71, 0x0000, 0x0000, 0x0000, 0x3248, 0xd86d, 0x2a50, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1013
    0x3140, 0xc9d5, 0x2a2e, 0x0000, 0x0000, 0x0000, 0x14e6, 0xbd47, 0x2a14, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1014
    0x0000, 0x0000, 0x5c10, 0xe544, 0x29f4, 0x0000, 0x0000, 0x0000, 0x9f50, 0x90b6,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1015
    0x29d4, 0x0000, 0x0000, 0x0000, 0x9850, 0xab55, 0x29b6, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1016
    0x2750, 0x9d07, 0x2998, 0x0000, 0x0000, 0x0000, 0x6700, 0x8bbb, 0x2973, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1017
    0x0000, 0x0000, 0x5dba, 0xed31, 0x295a, 0x0000, 0x0000, 0x0000, 0x61dc, 0x85fe,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1018
    0x293a, 0x0000, 0x0000, 0x0000, 0x9ba2, 0xd6b4, 0x291c, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1019
    0x2d30, 0xe3a5, 0x28fb, 0x0000, 0x0000, 0x0000, 0x6630, 0xb566, 0x28dd, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1020
    0x0000, 0x0000, 0x5ad4, 0xa829, 0x28bf, 0x0000, 0x0000, 0x0000, 0x89d8, 0xe290,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1021
    0x28a0, 0x0000, 0x0000, 0x0000, 0x3916, 0xc428, 0x2881, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1022
    0x0490, 0xbea4, 0x2860, 0x0000, 0x0000, 0x0000, 0xee06, 0x80ee, 0x2843, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1023
    0x0000, 0x0000, 0xfc00, 0xf327, 0x2820, 0x0000, 0x0000, 0x0000, 0xea40, 0xa871,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1024
    0x2800, 0x0000, 0x0000, 0x0000, 0x63d8, 0x9c26, 0x27e4, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1025
    0x07ba, 0xc0c9, 0x27c7, 0x0000, 0x0000, 0x0000, 0x3fa2, 0x9797, 0x27a8, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1026
    0x0000, 0x0000, 0x21c6, 0xfeca, 0x2789, 0x0000, 0x0000, 0x0000, 0xde40, 0x860d,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1027
    0x2768, 0x0000, 0x0000, 0x0000, 0x9cc8, 0x98ce, 0x2749, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1028
    0x3778, 0xa31c, 0x272a, 0x0000, 0x0000, 0x0000, 0xe778, 0xf6e2, 0x270b, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1029
    0x0000, 0x0000, 0x59b8, 0xf841, 0x26ed, 0x0000, 0x0000, 0x0000, 0x02e0, 0xad04,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1030
    0x26cd, 0x0000, 0x0000, 0x0000, 0x5a92, 0x9380, 0x26b0, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1031
    0xc740, 0x8886, 0x268d, 0x0000, 0x0000, 0x0000, 0x0680, 0xfaf8, 0x266c, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1032
    0x0000, 0x0000, 0xfb60, 0x897f, 0x2653, 0x0000, 0x0000, 0x0000, 0x8760, 0xf903,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1033
    0x2634, 0x0000, 0x0000, 0x0000, 0xad2a, 0xc2c8, 0x2615, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1034
    0x2d86, 0x8aef, 0x25f6, 0x0000, 0x0000, 0x0000, 0x1ef4, 0xe627, 0x25d6, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1035
    0x0000, 0x0000, 0x09e4, 0x8020, 0x25b7, 0x0000, 0x0000, 0x0000, 0x7548, 0xd227,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1036
    0x2598, 0x0000, 0x0000, 0x0000, 0x75dc, 0xfb5b, 0x2579, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1037
    0xea84, 0xc8b6, 0x255a, 0x0000, 0x0000, 0x0000, 0xe4d0, 0x8145, 0x253b, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1038
    0x0000, 0x0000, 0x3640, 0x9768, 0x251c, 0x0000, 0x0000, 0x0000, 0x246a, 0xccec,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1039
    0x24fe, 0x0000, 0x0000, 0x0000, 0x51d0, 0xa075, 0x24dd, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1040
    0x4638, 0xa385, 0x24bf, 0x0000, 0x0000, 0x0000, 0xd788, 0xd776, 0x24a1, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1041
    0x0000, 0x0000, 0x1370, 0x8997, 0x2482, 0x0000, 0x0000, 0x0000, 0x1e88, 0x9b67,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1042
    0x2462, 0x0000, 0x0000, 0x0000, 0x6c08, 0xd975, 0x2444, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1043
    0xfdb0, 0xcfc0, 0x2422, 0x0000, 0x0000, 0x0000, 0x3100, 0xc026, 0x2406, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1044
    0x0000, 0x0000, 0xc5b4, 0xae64, 0x23e6, 0x0000, 0x0000, 0x0000, 0x2280, 0xf687,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1045
    0x23c3, 0x0000, 0x0000, 0x0000, 0x2de0, 0x9006, 0x23a9, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1046
    0x24bc, 0xf631, 0x238a, 0x0000, 0x0000, 0x0000, 0xb8d4, 0xa975, 0x236b, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1047
    0x0000, 0x0000, 0xd9a4, 0xb949, 0x234b, 0x0000, 0x0000, 0x0000, 0xb54e, 0xbd39,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1048
    0x232d, 0x0000, 0x0000, 0x0000, 0x4aac, 0x9a52, 0x230e, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1049
    0xbbbc, 0xd085, 0x22ef, 0x0000, 0x0000, 0x0000, 0xdf18, 0xc633, 0x22cf, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1050
    0x0000, 0x0000, 0x16d0, 0xeca5, 0x22af, 0x0000, 0x0000, 0x0000, 0xf2a0, 0xdf6f,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1051
    0x228e, 0x0000, 0x0000, 0x0000, 0x8c44, 0xe86b, 0x2272, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1052
    0x35c0, 0xbbf4, 0x2253, 0x0000, 0x0000, 0x0000, 0x0c40, 0xdafb, 0x2230, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1053
    0x0000, 0x0000, 0x92dc, 0x9935, 0x2216, 0x0000, 0x0000, 0x0000, 0x0ca0, 0xbda6,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1054
    0x21f3, 0x0000, 0x0000, 0x0000, 0x5958, 0xa6fd, 0x21d6, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1055
    0xa3dc, 0x9d7f, 0x21b9, 0x0000, 0x0000, 0x0000, 0x79dc, 0xfcb5, 0x2199, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1056
    0x0000, 0x0000, 0xf264, 0xcebb, 0x217b, 0x0000, 0x0000, 0x0000, 0x0abe, 0x8308,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1057
    0x215c, 0x0000, 0x0000, 0x0000, 0x30ae, 0xb463, 0x213d, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1058
    0x6228, 0xb040, 0x211c, 0x0000, 0x0000, 0x0000, 0xc9b2, 0xf43b, 0x20ff, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1059
    0x0000, 0x0000, 0x3d8e, 0xa4b3, 0x20e0, 0x0000, 0x0000, 0x0000, 0x84e6, 0x8dab,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1060
    0x20c1, 0x0000, 0x0000, 0x0000, 0xa124, 0x9b74, 0x20a1, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1061
    0xc276, 0xd497, 0x2083, 0x0000, 0x0000, 0x0000, 0x6354, 0xa466, 0x2063, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1062
    0x0000, 0x0000, 0x8654, 0xaf0a, 0x2044, 0x0000, 0x0000, 0x0000, 0x1d20, 0xfa5c,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1063
    0x2024, 0x0000, 0x0000, 0x0000, 0xbcd0, 0xf3f0, 0x2004, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1064
    0xedf0, 0xf0b6, 0x1fe7, 0x0000, 0x0000, 0x0000, 0x45bc, 0x9182, 0x1fc9, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1065
    0x0000, 0x0000, 0xe254, 0xdc85, 0x1faa, 0x0000, 0x0000, 0x0000, 0xb898, 0xe9b1,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1066
    0x1f8a, 0x0000, 0x0000, 0x0000, 0x0ebe, 0xe6f0, 0x1f6c, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1067
    0xa9b8, 0xf584, 0x1f4c, 0x0000, 0x0000, 0x0000, 0x12e8, 0xdf6b, 0x1f2e, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1068
    0x0000, 0x0000, 0x9f9e, 0xcd55, 0x1f0f, 0x0000, 0x0000, 0x0000, 0x05a0, 0xec3a,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1069
    0x1eef, 0x0000, 0x0000, 0x0000, 0xd8e0, 0x96f8, 0x1ed1, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1070
    0x3bd4, 0xccc6, 0x1eb1, 0x0000, 0x0000, 0x0000, 0x4910, 0xb87b, 0x1e93, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1071
    0x0000, 0x0000, 0xbefc, 0xd40b, 0x1e73, 0x0000, 0x0000, 0x0000, 0x317e, 0xa406,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1072
    0x1e55, 0x0000, 0x0000, 0x0000, 0x6bb2, 0xc2b2, 0x1e36, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1073
    0xb87e, 0xbb78, 0x1e17, 0x0000, 0x0000, 0x0000, 0xa03c, 0xdbbd, 0x1df7, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1074
    0x0000, 0x0000, 0x5b6c, 0xe3c8, 0x1dd9, 0x0000, 0x0000, 0x0000, 0x8968, 0xca8e,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1075
    0x1dba, 0x0000, 0x0000, 0x0000, 0xc024, 0xe6ab, 0x1d9a, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1076
    0x4110, 0xd4eb, 0x1d7a, 0x0000, 0x0000, 0x0000, 0xa168, 0xbdb5, 0x1d5d, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1077
    0x0000, 0x0000, 0x012e, 0xa5fa, 0x1d3e, 0x0000, 0x0000, 0x0000, 0x6838, 0x9c1f,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1078
    0x1d1e, 0x0000, 0x0000, 0x0000, 0xa158, 0xaa76, 0x1d00, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1079
    0x090a, 0xbd95, 0x1ce1, 0x0000, 0x0000, 0x0000, 0xf73e, 0x8b6d, 0x1cc2, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1080
    0x0000, 0x0000, 0x5fda, 0xbcbf, 0x1ca3, 0x0000, 0x0000, 0x0000, 0xdbe8, 0xb89f,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1081
    0x1c84, 0x0000, 0x0000, 0x0000, 0x6e4c, 0x96c7, 0x1c64, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1082
    0x19c2, 0xf2a4, 0x1c46, 0x0000, 0x0000, 0x0000, 0xb800, 0xf855, 0x1c1e, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1083
    0x0000, 0x0000, 0x87fc, 0x85ff, 0x1c08, 0x0000, 0x0000, 0x0000, 0x1418, 0x839f,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1084
    0x1be9, 0x0000, 0x0000, 0x0000, 0x6186, 0xd9d8, 0x1bca, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1085
    0xf500, 0xabaa, 0x1ba6, 0x0000, 0x0000, 0x0000, 0x7b36, 0xdafe, 0x1b8c, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1086
    0x0000, 0x0000, 0xf394, 0xe6d8, 0x1b6c, 0x0000, 0x0000, 0x0000, 0x6efc, 0x9e55,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1087
    0x1b4e, 0x0000, 0x0000, 0x0000, 0x5e10, 0xc523, 0x1b2e, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1088
    0x8210, 0xb6f9, 0x1b0d, 0x0000, 0x0000, 0x0000, 0x9ab0, 0x96e3, 0x1af1, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1089
    0x0000, 0x0000, 0x3864, 0x92e7, 0x1ad1, 0x0000, 0x0000, 0x0000, 0x9878, 0xdc65,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1090
    0x1ab1, 0x0000, 0x0000, 0x0000, 0xfa20, 0xd6cb, 0x1a94, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1091
    0x6c00, 0xa4e4, 0x1a70, 0x0000, 0x0000, 0x0000, 0xab40, 0xb41b, 0x1a53, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1092
    0x0000, 0x0000, 0x43a4, 0x8ede, 0x1a37, 0x0000, 0x0000, 0x0000, 0x22e0, 0x9314,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1093
    0x1a15, 0x0000, 0x0000, 0x0000, 0x6170, 0xb949, 0x19f8, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1094
    0x6b00, 0xe056, 0x19d8, 0x0000, 0x0000, 0x0000, 0x9ba8, 0xa94c, 0x19b9, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1095
    0x0000, 0x0000, 0xfaa0, 0xaa16, 0x199b, 0x0000, 0x0000, 0x0000, 0x899a, 0xf627,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1096
    0x197d, 0x0000, 0x0000, 0x0000, 0x9f20, 0xfb70, 0x195d, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1097
    0xa4b8, 0xc176, 0x193e, 0x0000, 0x0000, 0x0000, 0xb21c, 0x85c3, 0x1920, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1098
    0x0000, 0x0000, 0x50d2, 0x9b19, 0x1901, 0x0000, 0x0000, 0x0000, 0xd4b0, 0xb708,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1099
    0x18e0, 0x0000, 0x0000, 0x0000, 0xfb88, 0xf510, 0x18c1, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1100
    0x31ec, 0xdc8d, 0x18a3, 0x0000, 0x0000, 0x0000, 0x3c00, 0xbff9, 0x1885, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1101
    0x0000, 0x0000, 0x5020, 0xc30b, 0x1862, 0x0000, 0x0000, 0x0000, 0xd4f0, 0xda0c,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1102
    0x1844, 0x0000, 0x0000, 0x0000, 0x20d2, 0x99a5, 0x1828, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1103
    0x852e, 0xd159, 0x1809, 0x0000, 0x0000, 0x0000, 0x7cd8, 0x97a1, 0x17e9, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1104
    0x0000, 0x0000, 0x423a, 0x997b, 0x17cb, 0x0000, 0x0000, 0x0000, 0xc1c0, 0xbe7d,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1105
    0x17a8, 0x0000, 0x0000, 0x0000, 0xe8bc, 0xdcdd, 0x178d, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1106
    0x8b28, 0xae06, 0x176e, 0x0000, 0x0000, 0x0000, 0x102e, 0xb8d4, 0x174f, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1107
    0x0000, 0x0000, 0xaa00, 0xaa5c, 0x172f, 0x0000, 0x0000, 0x0000, 0x51f0, 0x9fc0,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1108
    0x170e, 0x0000, 0x0000, 0x0000, 0xf858, 0xe181, 0x16f2, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1109
    0x91a8, 0x8162, 0x16d3, 0x0000, 0x0000, 0x0000, 0x5f40, 0xcb6f, 0x16b1, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1110
    0x0000, 0x0000, 0xbb50, 0xe55f, 0x1693, 0x0000, 0x0000, 0x0000, 0xacd2, 0xd895,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1111
    0x1676, 0x0000, 0x0000, 0x0000, 0xef30, 0x97bf, 0x1654, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1112
    0xf700, 0xb3d7, 0x1633, 0x0000, 0x0000, 0x0000, 0x3454, 0xa7b5, 0x1619, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1113
    0x0000, 0x0000, 0x6b00, 0xa929, 0x15f6, 0x0000, 0x0000, 0x0000, 0x9f04, 0x89f7,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1114
    0x15db, 0x0000, 0x0000, 0x0000, 0xad78, 0xd985, 0x15bc, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1115
    0xa46a, 0xae3f, 0x159d, 0x0000, 0x0000, 0x0000, 0x63a0, 0xd0da, 0x157c, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1116
    0x0000, 0x0000, 0x5e90, 0x817d, 0x155e, 0x0000, 0x0000, 0x0000, 0x1494, 0xb13f,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1117
    0x1540, 0x0000, 0x0000, 0x0000, 0x0090, 0x9c40, 0x1521, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1118
    0xdd70, 0xcc86, 0x1500, 0x0000, 0x0000, 0x0000, 0x64f8, 0xdb6f, 0x14e1, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1119
    0x0000, 0x0000, 0xe22c, 0xac17, 0x14c3, 0x0000, 0x0000, 0x0000, 0x60e0, 0xa9ad,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1120
    0x14a3, 0x0000, 0x0000, 0x0000, 0x4640, 0xd658, 0x1481, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1121
    0x6490, 0xa181, 0x1467, 0x0000, 0x0000, 0x0000, 0x1df4, 0xaaa2, 0x1447, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1122
    0x0000, 0x0000, 0xb94a, 0x8f61, 0x1429, 0x0000, 0x0000, 0x0000, 0x5198, 0x9d83,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1123
    0x1409, 0x0000, 0x0000, 0x0000, 0x0f7a, 0xa818, 0x13eb, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1124
    0xc45e, 0xc06c, 0x13cc, 0x0000, 0x0000, 0x0000, 0x4ec0, 0xfa29, 0x13a8, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1125
    0x0000, 0x0000, 0x6418, 0x8cad, 0x138c, 0x0000, 0x0000, 0x0000, 0xbcc8, 0xe7d1,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1126
    0x136f, 0x0000, 0x0000, 0x0000, 0xc934, 0xf9b0, 0x134f, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1127
    0x6ce0, 0x98df, 0x1331, 0x0000, 0x0000, 0x0000, 0x3516, 0xe5e9, 0x1312, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1128
    0x0000, 0x0000, 0xc6c0, 0xef8b, 0x12ef, 0x0000, 0x0000, 0x0000, 0xaf02, 0x913d,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1129
    0x12d4, 0x0000, 0x0000, 0x0000, 0xd230, 0xe1d5, 0x12b5, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1130
    0xfba8, 0xc232, 0x1295, 0x0000, 0x0000, 0x0000, 0x7ba4, 0xabeb, 0x1277, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1131
    0x0000, 0x0000, 0x6e5c, 0xc692, 0x1258, 0x0000, 0x0000, 0x0000, 0x76a2, 0x9756,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1132
    0x1239, 0x0000, 0x0000, 0x0000, 0xe180, 0xe423, 0x1214, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1133
    0x8c3c, 0x90f8, 0x11fb, 0x0000, 0x0000, 0x0000, 0x9f3c, 0x9fd2, 0x11dc, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1134
    0x0000, 0x0000, 0x53e0, 0xb73e, 0x11bd, 0x0000, 0x0000, 0x0000, 0x45be, 0x88d6,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1135
    0x119e, 0x0000, 0x0000, 0x0000, 0x111a, 0x8bc0, 0x117f, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1136
    0xe26a, 0xd7ff, 0x1160, 0x0000, 0x0000, 0x0000, 0xfb60, 0xdd8d, 0x113f, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1137
    0x0000, 0x0000, 0x9370, 0xc108, 0x1120, 0x0000, 0x0000, 0x0000, 0x9654, 0x8baf,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1138
    0x1103, 0x0000, 0x0000, 0x0000, 0xd6ec, 0xd6b9, 0x10e4, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1139
    0x23e4, 0xd7b7, 0x10c4, 0x0000, 0x0000, 0x0000, 0x1aa6, 0xa847, 0x10a6, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1140
    0x0000, 0x0000, 0xbee6, 0x9fef, 0x1087, 0x0000, 0x0000, 0x0000, 0x26d0, 0xa6eb,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1141
    0x1066, 0x0000, 0x0000, 0x0000, 0x5b86, 0xa880, 0x1049, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1142
    0x125c, 0xd971, 0x1029, 0x0000, 0x0000, 0x0000, 0x1f78, 0x9d18, 0x100a, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1143
    0x0000, 0x0000, 0x0e84, 0xb15b, 0x0feb, 0x0000, 0x0000, 0x0000, 0xd0c0, 0xc150,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1144
    0x0fcc, 0x0000, 0x0000, 0x0000, 0xa330, 0xc40c, 0x0fad, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1145
    0x5202, 0xfc2c, 0x0f8f, 0x0000, 0x0000, 0x0000, 0x3f7c, 0xecf5, 0x0f6f, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1146
    0x0000, 0x0000, 0xef44, 0xfdfd, 0x0f50, 0x0000, 0x0000, 0x0000, 0x3f6c, 0xab1b,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1147
    0x0f31, 0x0000, 0x0000, 0x0000, 0xf658, 0x89ec, 0x0f11, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1148
    0xbfc8, 0x9ba8, 0x0ef4, 0x0000, 0x0000, 0x0000, 0x3d40, 0xbe21, 0x0ed5, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1149
    0x0000, 0x0000, 0xbbc4, 0xc70d, 0x0eb6, 0x0000, 0x0000, 0x0000, 0x5158, 0xdb16,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1150
    0x0e96, 0x0000, 0x0000, 0x0000, 0xb5a8, 0xa8d8, 0x0e78, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1151
    0xcccc, 0xb40e, 0x0e58, 0x0000, 0x0000, 0x0000, 0x448c, 0xcb62, 0x0e3a, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1152
    0x0000, 0x0000, 0xf12a, 0x8aed, 0x0e1b, 0x0000, 0x0000, 0x0000, 0x79d0, 0xc59c,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1153
    0x0dfb, 0x0000, 0x0000, 0x0000, 0x06b4, 0xcdc9, 0x0ddd, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1154
    0xae70, 0xa979, 0x0dbe, 0x0000, 0x0000, 0x0000, 0x317c, 0xa8fb, 0x0d9e, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1155
    0x0000, 0x0000, 0x5fe0, 0x8a50, 0x0d7d, 0x0000, 0x0000, 0x0000, 0x70b6, 0xfdfa,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1156
    0x0d61, 0x0000, 0x0000, 0x0000, 0x1640, 0x9dc7, 0x0d41, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1157
    0x9a9c, 0xdc50, 0x0d23, 0x0000, 0x0000, 0x0000, 0x4fcc, 0x9a9b, 0x0d04, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1158
    0x0000, 0x0000, 0x7e48, 0x8f77, 0x0ce5, 0x0000, 0x0000, 0x0000, 0x84e4, 0xd4b9,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1159
    0x0cc6, 0x0000, 0x0000, 0x0000, 0x84e0, 0xbd10, 0x0ca6, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1160
    0x1b0a, 0xc8d9, 0x0c88, 0x0000, 0x0000, 0x0000, 0x6a48, 0xfc81, 0x0c68, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1161
    0x0000, 0x0000, 0x070a, 0xbef6, 0x0c4a, 0x0000, 0x0000, 0x0000, 0x8a70, 0xf096,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1162
    0x0c2b, 0x0000, 0x0000, 0x0000, 0xecc2, 0xc994, 0x0c0c, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1163
    0x1540, 0x9537, 0x0bea, 0x0000, 0x0000, 0x0000, 0x1b02, 0xab5b, 0x0bce, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1164
    0x0000, 0x0000, 0x5dc0, 0xb0c8, 0x0bad, 0x0000, 0x0000, 0x0000, 0xc928, 0xe034,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1165
    0x0b8f, 0x0000, 0x0000, 0x0000, 0x2d12, 0xb4b0, 0x0b71, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1166
    0x8fc2, 0xbb94, 0x0b52, 0x0000, 0x0000, 0x0000, 0xe236, 0xe22f, 0x0b33, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1167
    0x0000, 0x0000, 0xb97c, 0xbe9e, 0x0b13, 0x0000, 0x0000, 0x0000, 0xe1a6, 0xe16d,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1168
    0x0af5, 0x0000, 0x0000, 0x0000, 0xd330, 0xbaf0, 0x0ad6, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1169
    0xc0bc, 0xbbd0, 0x0ab7, 0x0000, 0x0000, 0x0000, 0x8e66, 0xdd9b, 0x0a98, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1170
    0x0000, 0x0000, 0xc95c, 0xf799, 0x0a79, 0x0000, 0x0000, 0x0000, 0xdac0, 0xbe4c,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1171
    0x0a55, 0x0000, 0x0000, 0x0000, 0xafc0, 0xc378, 0x0a37, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1172
    0xa880, 0xe341, 0x0a19, 0x0000, 0x0000, 0x0000, 0xc242, 0x81f6, 0x09fd, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1173
    0x0000, 0x0000, 0x7470, 0xc777, 0x09de, 0x0000, 0x0000, 0x0000, 0x62bc, 0xb684,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1174
    0x09be, 0x0000, 0x0000, 0x0000, 0x43ac, 0x8c58, 0x099f, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1175
    0xcc3c, 0xf9ac, 0x0981, 0x0000, 0x0000, 0x0000, 0x1526, 0xb670, 0x0962, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1176
    0x0000, 0x0000, 0xc9fe, 0xdf50, 0x0943, 0x0000, 0x0000, 0x0000, 0x6ae6, 0xc065,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1177
    0x0924, 0x0000, 0x0000, 0x0000, 0xb114, 0xcf29, 0x0905, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1178
    0xd388, 0x922a, 0x08e4, 0x0000, 0x0000, 0x0000, 0xcf54, 0xb926, 0x08c7, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1179
    0x0000, 0x0000, 0x3826, 0xe855, 0x08a8, 0x0000, 0x0000, 0x0000, 0xe7c8, 0x829b,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1180
    0x0888, 0x0000, 0x0000, 0x0000, 0x546c, 0xa903, 0x086a, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1181
    0x8768, 0x99cc, 0x0849, 0x0000, 0x0000, 0x0000, 0x00ac, 0xf529, 0x082b, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1182
    0x0000, 0x0000, 0x2658, 0x9f0b, 0x080c, 0x0000, 0x0000, 0x0000, 0xfe5c, 0x9e21,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1183
    0x07ee, 0x0000, 0x0000, 0x0000, 0x6da2, 0x9910, 0x07cf, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1184
    0x9220, 0xf9b3, 0x07b0, 0x0000, 0x0000, 0x0000, 0x3d90, 0xa541, 0x0791, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1185
    0x0000, 0x0000, 0x6e4c, 0xe7cc, 0x0771, 0x0000, 0x0000, 0x0000, 0xa8fa, 0xe80a,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1186
    0x0753, 0x0000, 0x0000, 0x0000, 0x4e14, 0xc3a7, 0x0734, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1187
    0xf7e0, 0xbad9, 0x0712, 0x0000, 0x0000, 0x0000, 0xfea0, 0xeff2, 0x06f5, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1188
    0x0000, 0x0000, 0xcef6, 0xbd48, 0x06d7, 0x0000, 0x0000, 0x0000, 0x7544, 0xf559,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1189
    0x06b7, 0x0000, 0x0000, 0x0000, 0x2388, 0xf655, 0x0698, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1190
    0xe900, 0xad56, 0x0676, 0x0000, 0x0000, 0x0000, 0x2cc0, 0x8437, 0x0659, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1191
    0x0000, 0x0000, 0x3068, 0xc544, 0x063b, 0x0000, 0x0000, 0x0000, 0xdc70, 0xe73c,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1192
    0x061b, 0x0000, 0x0000, 0x0000, 0xee50, 0x9d49, 0x05fc, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1193
    0x93d2, 0x81f6, 0x05df, 0x0000, 0x0000, 0x0000, 0x941c, 0xadff, 0x05bf, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1194
    0x0000, 0x0000, 0x2ce2, 0x8e45, 0x05a1, 0x0000, 0x0000, 0x0000, 0x4a60, 0x95fd,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1195
    0x0581, 0x0000, 0x0000, 0x0000, 0x79f8, 0xb83a, 0x0563, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1196
    0xcb58, 0xa1f5, 0x0543, 0x0000, 0x0000, 0x0000, 0x2a3a, 0xdc36, 0x0525, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1197
    0x0000, 0x0000, 0x14ee, 0x890e, 0x0506, 0x0000, 0x0000, 0x0000, 0x8f20, 0xc432,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1198
    0x04e3, 0x0000, 0x0000, 0x0000, 0x8440, 0xb21d, 0x04c6, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1199
    0x5430, 0xf698, 0x04a7, 0x0000, 0x0000, 0x0000, 0x04ae, 0x8b20, 0x048a, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1200
    0x0000, 0x0000, 0x04d0, 0xe872, 0x046b, 0x0000, 0x0000, 0x0000, 0xc78e, 0x8893,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1201
    0x044c, 0x0000, 0x0000, 0x0000, 0x0f78, 0x9895, 0x042b, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1202
    0x11d4, 0xdf2e, 0x040d, 0x0000, 0x0000, 0x0000, 0xe84c, 0x89d5, 0x03ef, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1203
    0x0000, 0x0000, 0xf7be, 0x8a67, 0x03d0, 0x0000, 0x0000, 0x0000, 0x95d0, 0xc906,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1204
    0x03b1, 0x0000, 0x0000, 0x0000, 0x64ce, 0xd96c, 0x0392, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1205
    0x97ba, 0xa16f, 0x0373, 0x0000, 0x0000, 0x0000, 0x463c, 0xc51a, 0x0354, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1206
    0x0000, 0x0000, 0xef0a, 0xe93e, 0x0335, 0x0000, 0x0000, 0x0000, 0x526a, 0xa466,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1207
    0x0316, 0x0000, 0x0000, 0x0000, 0x4140, 0xa94d, 0x02f5, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1208
    0xb4ec, 0xce68, 0x02d8, 0x0000, 0x0000, 0x0000, 0x4fa2, 0x8490, 0x02b9, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1209
    0x0000, 0x0000, 0x4e60, 0xca98, 0x0298, 0x0000, 0x0000, 0x0000, 0x08dc, 0xe09c,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1210
    0x027a, 0x0000, 0x0000, 0x0000, 0x2b90, 0xc7e3, 0x025c, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1211
    0x5a7c, 0xf8ef, 0x023c, 0x0000, 0x0000, 0x0000, 0x5022, 0x9d58, 0x021e, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1212
    0x0000, 0x0000, 0x553a, 0xe242, 0x01ff, 0x0000, 0x0000, 0x0000, 0x7e6e, 0xb54d,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1213
    0x01e0, 0x0000, 0x0000, 0x0000, 0xd2d4, 0xa88c, 0x01c1, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1214
    0x75b6, 0xfe6d, 0x01a2, 0x0000, 0x0000, 0x0000, 0x3bb2, 0xf04c, 0x0183, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1215
    0x0000, 0x0000, 0xc2d0, 0xc046, 0x0163, 0x0000, 0x0000, 0x0000, 0x250c, 0xf9d6,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1216
    0x0145, 0x0000, 0x0000, 0x0000, 0xb7b4, 0x8a0d, 0x0126, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1217
    0x1a72, 0xe4f5, 0x0107, 0x0000, 0x0000, 0x0000, 0x825c, 0xa9b8, 0x00e8, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1218
    0x0000, 0x0000, 0x6c90, 0xc9ad, 0x00c6, 0x0000, 0x0000, 0x0000, 0x4d00, 0xd1bb,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1219
    0x00aa, 0x0000, 0x0000, 0x0000, 0xa4a0, 0xee01, 0x0087, 0x0000, 0x0000, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1220
    0x89a8, 0xbe9f, 0x006b, 0x0000, 0x0000, 0x0000, 0x038e, 0xc80c, 0x004d, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1221
    0x0000, 0x0000, 0xfe26, 0x8384, 0x002e, 0x0000, 0x0000, 0x0000, 0xcd90, 0xca57,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1222
    0x000e, 0x0000
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1223
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1224
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1225
void MacroAssembler::libm_reduce_pi04l(Register eax, Register ecx, Register edx, Register ebx, Register esi, Register edi, Register ebp, Register esp) {
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1226
  Label B1_1, B1_2, B1_3, B1_4, B1_5, B1_6, B1_7, B1_8, B1_9, B1_10, B1_11, B1_12;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1227
  Label B1_13, B1_14, B1_15;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1228
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1229
  assert_different_registers(ebx, eax, ecx, edx, esi, edi, ebp, esp);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1230
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1231
  address zero_none = (address)_zero_none;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1232
  address _4onpi_d = (address)__4onpi_d;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1233
  address TWO_32H = (address)_TWO_32H;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1234
  address pi04_3d = (address)_pi04_3d;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1235
  address pi04_5d = (address)_pi04_5d;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1236
  address SCALE = (address)_SCALE;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1237
  address zeros = (address)_zeros;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1238
  address pi04_2d = (address)_pi04_2d;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1239
  address TWO_12H = (address)_TWO_12H;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1240
  address _4onpi_31l = (address)__4onpi_31l;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1241
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1242
  bind(B1_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1243
  push(ebp);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1244
  movl(ebp, esp);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1245
  andl(esp, -16);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1246
  push(esi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1247
  push(edi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1248
  push(ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1249
  subl(esp, 20);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1250
  movzwl(ebx, Address(ebp, 16));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1251
  andl(ebx, 32767);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1252
  movl(eax, Address(ebp, 20));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1253
  cmpl(ebx, 16413);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1254
  movl(esi, Address(ebp, 24));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1255
  movl(Address(esp, 4), eax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1256
  jcc(Assembler::greaterEqual, B1_8);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1257
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1258
  bind(B1_2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1259
  fld_x(Address(ebp, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1260
  fld_d(ExternalAddress(_4onpi_d));    //0x6dc9c883UL, 0x3ff45f30UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1261
  fmul(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1262
  fstp_x(Address(esp, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1263
  movzwl(ecx, Address(esp, 16));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1264
  negl(ecx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1265
  addl(ecx, 30);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1266
  movl(eax, Address(esp, 12));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1267
  shrl(eax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1268
  cmpl(Address(esp, 4), 0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1269
  jcc(Assembler::notEqual, B1_4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1270
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1271
  bind(B1_3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1272
  lea(ecx, Address(eax, 1));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1273
  andl(ecx, -2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1274
  jmp(B1_5);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1275
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1276
  bind(B1_4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1277
  movl(ecx, eax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1278
  addl(eax, Address(esp, 4));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1279
  movl(edx, eax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1280
  andl(edx, 1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1281
  addl(ecx, edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1282
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1283
  bind(B1_5);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1284
  fld_d(ExternalAddress(TWO_32H));    //0x00000000UL, 0x41f80000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1285
  cmpl(ebx, 16400);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1286
  movl(Address(esp, 0), ecx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1287
  fild_s(Address(esp, 0));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1288
  jcc(Assembler::greaterEqual, B1_7);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1289
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1290
  bind(B1_6);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1291
  fld_d(ExternalAddress(pi04_3d));    //0x54442d00UL, 0x3fe921fbUL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1292
  fmul(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1293
  fsubp(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1294
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1295
  fmul(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1296
  fld_s(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1297
  fadd(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1298
  fsubrp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1299
  fld_s(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1300
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1301
  fsuba(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1302
  fld_d(ExternalAddress(8 + pi04_3d));    //0x98cc5180UL, 0x3ce84698UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1303
  fmul(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1304
  fsuba(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1305
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1306
  fsub(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1307
  fsubrp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1308
  faddp(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1309
  fld_d(ExternalAddress(16 + pi04_3d));    //0xcbb5bf6cUL, 0xb9dfc8f8UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1310
  fmulp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1311
  fld_s(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1312
  fsubr(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1313
  fsuba(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1314
  fxch(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1315
  fsubp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1316
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1317
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1318
  jmp(B1_15);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1319
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1320
  bind(B1_7);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1321
  fld_d(ExternalAddress(pi04_5d));    //0x54400000UL, 0x3fe921fbUL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1322
  fmul(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1323
  fsubp(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1324
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1325
  fmul(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1326
  fld_s(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1327
  fadd(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1328
  fsubrp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1329
  fld_s(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1330
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1331
  fsuba(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1332
  fld_d(ExternalAddress(8 + pi04_5d));    //0x1a600000UL, 0x3dc0b461UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1333
  fmul(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1334
  fsuba(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1335
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1336
  fsub(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1337
  fsubrp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1338
  faddp(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1339
  fld_d(ExternalAddress(16 + pi04_5d));    //0x2e000000UL, 0x3b93198aUL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1340
  fmul(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1341
  fld_s(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1342
  fsubr(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1343
  fsuba(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1344
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1345
  fsubp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1346
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1347
  faddp(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1348
  fld_d(ExternalAddress(24 + pi04_5d));    //0x25200000UL, 0x396b839aUL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1349
  fmul(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1350
  fld_s(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1351
  fsubr(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1352
  fsuba(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1353
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1354
  fsubp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1355
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1356
  faddp(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1357
  fld_d(ExternalAddress(32 + pi04_5d));    //0x533e63a0UL, 0x37027044UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1358
  fmulp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1359
  fld_s(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1360
  fsubr(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1361
  fsuba(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1362
  fxch(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1363
  fsubp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1364
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1365
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1366
  jmp(B1_15);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1367
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1368
  bind(B1_8);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1369
  fld_x(Address(ebp, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1370
  addl(ebx, -16417);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1371
  fmul_d(as_Address(ExternalAddress(SCALE)));    //0x00000000UL, 0x32600000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1372
  movl(eax, -2078209981);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1373
  imull(ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1374
  addl(edx, ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1375
  movl(ecx, ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1376
  sarl(edx, 4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1377
  sarl(ecx, 31);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1378
  subl(edx, ecx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1379
  movl(eax, edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1380
  shll(eax, 5);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1381
  fstp_x(Address(ebp, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1382
  fld_x(Address(ebp, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1383
  subl(eax, edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1384
  movl(Address(ebp, 8), 0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1385
  subl(ebx, eax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1386
  fld_x(Address(ebp, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1387
  cmpl(ebx, 17);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1388
  fsuba(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1389
  jcc(Assembler::less, B1_10);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1390
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1391
  bind(B1_9);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1392
  lea(eax, Address(noreg, edx, Address::times_8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1393
  lea(ecx, Address(eax, edx, Address::times_4));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1394
  incl(edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1395
  fld_x(Address(_4onpi_31l, RelocationHolder::none).plus_disp(ecx, Address::times_1));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1396
  fmul(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1397
  fld_x(Address(12 + _4onpi_31l, RelocationHolder::none).plus_disp(ecx, Address::times_1));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1398
  fmul(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1399
  fld_s(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1400
  fadd(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1401
  fsuba(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1402
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1403
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1404
  fld_s(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1405
  fadd(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1406
  fstp_x(Address(esp, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1407
  andl(Address(esp, 8), -16777216);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1408
  fld_x(Address(esp, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1409
  fsubp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1410
  jmp(B1_11);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1411
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1412
  bind(B1_10);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1413
  fld_d(ExternalAddress(zeros));    //0x00000000UL, 0x00000000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1414
  fld_s(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1415
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1416
  bind(B1_11);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1417
  fld_s(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1418
  lea(eax, Address(noreg, edx, Address::times_8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1419
  fld_s(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1420
  lea(edx, Address(eax, edx, Address::times_4));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1421
  fld_x(Address(_4onpi_31l, RelocationHolder::none).plus_disp(edx, Address::times_1));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1422
  fmul(6);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1423
  movl(Address(esp, 0), edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1424
  fadda(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1425
  fxch(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1426
  fsuba(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1427
  fxch(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1428
  faddp(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1429
  fxch(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1430
  faddp(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1431
  fld_x(Address(12 + _4onpi_31l, RelocationHolder::none).plus_disp(edx, Address::times_1));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1432
  fmula(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1433
  fld_s(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1434
  fadd(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1435
  fld_s(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1436
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1437
  fsubra(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1438
  fxch(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1439
  fchs();
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1440
  faddp(4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1441
  fxch(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1442
  faddp(4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1443
  fxch(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1444
  fadd(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1445
  fxch(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1446
  fmul(5);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1447
  fadda(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1448
  fld_s(4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1449
  fld_x(Address(24 + _4onpi_31l, RelocationHolder::none).plus_disp(edx, Address::times_1));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1450
  fmula(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1451
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1452
  fadda(4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1453
  fxch(4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1454
  fstp_x(Address(esp, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1455
  movzwl(ebx, Address(esp, 16));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1456
  andl(ebx, 32767);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1457
  cmpl(ebx, 16415);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1458
  jcc(Assembler::greaterEqual, B1_13);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1459
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1460
  bind(B1_12);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1461
  negl(ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1462
  addl(ebx, 30);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1463
  movl(ecx, ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1464
  movl(eax, Address(esp, 12));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1465
  shrl(eax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1466
  shll(eax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1467
  movl(Address(esp, 12), eax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1468
  movl(Address(esp, 8), 0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1469
  shrl(eax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1470
  jmp(B1_14);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1471
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1472
  bind(B1_13);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1473
  negl(ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1474
  addl(ebx, 30);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1475
  movl(ecx, ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1476
  movl(edx, Address(esp, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1477
  shrl(edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1478
  shll(edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1479
  negl(ecx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1480
  movl(eax, Address(esp, 12));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1481
  shll(eax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1482
  movl(ecx, ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1483
  movl(Address(esp, 8), edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1484
  shrl(edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1485
  orl(eax, edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1486
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1487
  bind(B1_14);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1488
  fld_x(Address(esp, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1489
  addl(eax, Address(esp, 4));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1490
  fsubp(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1491
  fmul(6);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1492
  fld_s(4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1493
  movl(edx, eax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1494
  andl(edx, 1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1495
  fadd(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1496
  movl(ecx, Address(esp, 0));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1497
  fsuba(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1498
  fxch(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1499
  faddp(5);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1500
  fld_s(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1501
  fxch(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1502
  fadd_d(Address(zero_none, RelocationHolder::none).plus_disp(edx, Address::times_8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1503
  fadda(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1504
  fsub(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1505
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1506
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1507
  faddp(4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1508
  fld_s(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1509
  fadd(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1510
  fsuba(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1511
  fxch(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1512
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1513
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1514
  faddp(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1515
  fld_s(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1516
  fadd(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1517
  fsuba(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1518
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1519
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1520
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1521
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1522
  fld_s(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1523
  fld_x(Address(36 + _4onpi_31l, RelocationHolder::none).plus_disp(ecx, Address::times_1));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1524
  fmula(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1525
  fld_s(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1526
  fadd(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1527
  fsuba(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1528
  fxch(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1529
  faddp(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1530
  fxch(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1531
  faddp(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1532
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1533
  fmul(4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1534
  fld_s(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1535
  fadd(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1536
  fsuba(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1537
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1538
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1539
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1540
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1541
  fld_s(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1542
  fld_x(Address(48 + _4onpi_31l, RelocationHolder::none).plus_disp(ecx, Address::times_1));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1543
  fmula(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1544
  fld_s(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1545
  fadd(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1546
  fsuba(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1547
  fxch(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1548
  faddp(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1549
  fxch(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1550
  faddp(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1551
  fld_s(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1552
  fxch(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1553
  fmul(5);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1554
  fld_x(Address(60 + _4onpi_31l, RelocationHolder::none).plus_disp(ecx, Address::times_1));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1555
  fmula(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1556
  fxch(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1557
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1558
  fld_s(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1559
  fadd(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1560
  fsuba(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1561
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1562
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1563
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1564
  faddp(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1565
  fld_s(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1566
  fxch(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1567
  fmul(5);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1568
  fld_x(Address(72 + _4onpi_31l, RelocationHolder::none).plus_disp(ecx, Address::times_1));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1569
  fmula(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1570
  fxch(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1571
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1572
  fld_s(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1573
  fadd(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1574
  fsuba(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1575
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1576
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1577
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1578
  faddp(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1579
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1580
  fmulp(4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1581
  fld_x(Address(84 + _4onpi_31l, RelocationHolder::none).plus_disp(ecx, Address::times_1));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1582
  fmulp(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1583
  fxch(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1584
  faddp(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1585
  fld_s(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1586
  fadd(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1587
  fld_d(ExternalAddress(TWO_32H));    //0x00000000UL, 0x41f80000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1588
  fmul(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1589
  fadda(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1590
  fsubp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1591
  fsuba(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1592
  fxch(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1593
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1594
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1595
  fld_d(ExternalAddress(pi04_2d));    //0x54400000UL, 0x3fe921fbUL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1596
  fld_s(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1597
  fmul(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1598
  fxch(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1599
  fadd(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1600
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1601
  fmulp(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1602
  fmul_d(as_Address(ExternalAddress(8 + pi04_2d)));    //0x1a626331UL, 0x3dc0b461UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1603
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1604
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1605
  bind(B1_15);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1606
  fld_d(ExternalAddress(TWO_12H));    //0x00000000UL, 0x40b80000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1607
  fld_s(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1608
  fadd(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1609
  fmula(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1610
  fstp_x(Address(esp, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1611
  fld_x(Address(esp, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1612
  fadd(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1613
  fsubrp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1614
  fst_d(Address(esi, 0));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1615
  fsubp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1616
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1617
  fstp_d(Address(esi, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1618
  addl(esp, 20);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1619
  pop(ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1620
  pop(edi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1621
  pop(esi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1622
  movl(esp, ebp);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1623
  pop(ebp);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1624
  ret(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1625
}
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1626
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
  1627
ATTRIBUTE_ALIGNED(16) juint StubRoutines::x86::_L_2il0floatpacket_0[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1628
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1629
    0xffffffffUL, 0x7fffffffUL, 0x00000000UL, 0x00000000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1630
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1631
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
  1632
ATTRIBUTE_ALIGNED(16) juint StubRoutines::x86::_Pi4Inv[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1633
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1634
    0x6dc9c883UL, 0x3ff45f30UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1635
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1636
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
  1637
ATTRIBUTE_ALIGNED(16) juint StubRoutines::x86::_Pi4x3[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1638
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1639
    0x54443000UL, 0xbfe921fbUL, 0x3b39a000UL, 0x3d373dcbUL, 0xe0e68948UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1640
    0xba845c06UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1641
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1642
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
  1643
ATTRIBUTE_ALIGNED(16) juint StubRoutines::x86::_Pi4x4[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1644
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1645
    0x54400000UL, 0xbfe921fbUL, 0x1a600000UL, 0xbdc0b461UL, 0x2e000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1646
    0xbb93198aUL, 0x252049c1UL, 0xb96b839aUL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1647
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1648
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
  1649
ATTRIBUTE_ALIGNED(16) jushort _SP[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1650
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1651
    0xaaab, 0xaaaa, 0xaaaa, 0xaaaa, 0xbffc, 0x0000, 0x8887, 0x8888, 0x8888, 0x8888,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1652
    0x3ff8, 0x0000, 0xc527, 0x0d00, 0x00d0, 0xd00d, 0xbff2, 0x0000, 0x45f6, 0xb616,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1653
    0x1d2a, 0xb8ef, 0x3fec, 0x0000, 0x825b, 0x3997, 0x2b3f, 0xd732, 0xbfe5, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1654
    0xbf33, 0x8bb4, 0x2fda, 0xb092, 0x3fde, 0x0000, 0x44a6, 0xed1a, 0x29ef, 0xd73e,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1655
    0xbfd6, 0x0000, 0x8610, 0x307f, 0x62a1, 0xc921, 0x3fce, 0x0000
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1656
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1657
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
  1658
ATTRIBUTE_ALIGNED(16) jushort _CP[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1659
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1660
    0x0000, 0x0000, 0x0000, 0x8000, 0xbffe, 0x0000, 0xaaa5, 0xaaaa, 0xaaaa, 0xaaaa,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1661
    0x3ffa, 0x0000, 0x9c2f, 0x0b60, 0x60b6, 0xb60b, 0xbff5, 0x0000, 0xf024, 0x0cac,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1662
    0x00d0, 0xd00d, 0x3fef, 0x0000, 0x03fe, 0x3f65, 0x7dbb, 0x93f2, 0xbfe9, 0x0000,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1663
    0xd84d, 0xadee, 0xc698, 0x8f76, 0x3fe2, 0x0000, 0xdaba, 0xfe79, 0xea36, 0xc9c9,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1664
    0xbfda, 0x0000, 0x3ac6, 0x0ba0, 0x07ce, 0xd585, 0x3fd2, 0x0000
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1665
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1666
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
  1667
ATTRIBUTE_ALIGNED(16) juint StubRoutines::x86::_ones[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1668
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1669
    0x00000000UL, 0x3ff00000UL, 0x00000000UL, 0xbff00000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1670
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1671
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1672
void MacroAssembler::libm_sincos_huge(XMMRegister xmm0, XMMRegister xmm1, Register eax, Register ecx, Register edx, Register ebx, Register esi, Register edi, Register ebp, Register esp) {
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1673
  Label B1_1, B1_2, B1_3, B1_4, B1_5, B1_6, B1_7, B1_8, B1_9, B1_10, B1_11, B1_12;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1674
  Label B1_13, B1_14, B1_15, B1_16, B1_17, B1_18, B1_19, B1_20, B1_21, B1_22, B1_23;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1675
  Label B1_24, B1_25, B1_26, B1_27, B1_28, B1_29, B1_30, B1_31, B1_32, B1_33, B1_34;
51756
4bd35a5ec694 8210676: Remove some unused Label variables
mikael
parents: 50120
diff changeset
  1676
  Label B1_35, B1_36, B1_37, B1_38, B1_39, B1_40, B1_41, B1_42, B1_43, B1_46;
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1677
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1678
  assert_different_registers(ebx, eax, ecx, edx, esi, edi, ebp, esp);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1679
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1680
  address L_2il0floatpacket_0 = StubRoutines::x86::_L_2il0floatpacket_0_addr();
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1681
  address Pi4Inv = StubRoutines::x86::_Pi4Inv_addr();
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1682
  address Pi4x3 = StubRoutines::x86::_Pi4x3_addr();
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1683
  address Pi4x4 = StubRoutines::x86::_Pi4x4_addr();
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1684
  address ones = StubRoutines::x86::_ones_addr();
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1685
  address CP = (address)_CP;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1686
  address SP = (address)_SP;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1687
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1688
  bind(B1_1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1689
  push(ebp);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1690
  movl(ebp, esp);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1691
  andl(esp, -64);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1692
  push(esi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1693
  push(edi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1694
  push(ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1695
  subl(esp, 52);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1696
  movl(eax, Address(ebp, 16));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1697
  movl(edx, Address(ebp, 20));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1698
  movl(Address(esp, 32), eax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1699
  movl(Address(esp, 36), edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1700
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1701
  bind(B1_2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1702
  fnstcw(Address(esp, 30));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1703
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1704
  bind(B1_3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1705
  movsd(xmm1, Address(ebp, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1706
  movl(esi, Address(ebp, 12));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1707
  movl(eax, esi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1708
  andl(eax, 2147483647);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1709
  andps(xmm1, ExternalAddress(L_2il0floatpacket_0));    //0xffffffffUL, 0x7fffffffUL, 0x00000000UL, 0x00000000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1710
  shrl(esi, 31);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1711
  movl(Address(esp, 40), eax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1712
  cmpl(eax, 1104150528);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1713
  movsd(Address(ebp, 8), xmm1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1714
  jcc(Assembler::aboveEqual, B1_11);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1715
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1716
  bind(B1_4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1717
  movsd(xmm0, ExternalAddress(Pi4Inv));    //0x6dc9c883UL, 0x3ff45f30UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1718
  mulsd(xmm0, xmm1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1719
  movzwl(edx, Address(esp, 30));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1720
  movl(eax, edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1721
  andl(eax, 768);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1722
  movsd(Address(esp, 0), xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1723
  cmpl(eax, 768);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1724
  jcc(Assembler::equal, B1_42);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1725
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1726
  bind(B1_5);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1727
  orl(edx, -64768);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1728
  movw(Address(esp, 28), edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1729
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1730
  bind(B1_6);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1731
  fldcw(Address(esp, 28));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1732
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1733
  bind(B1_7);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1734
  movsd(xmm1, Address(ebp, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1735
  movl(ebx, 1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1736
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1737
  bind(B1_8);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1738
  movl(Address(esp, 12), ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1739
  movl(ebx, Address(esp, 4));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1740
  movl(eax, ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1741
  movl(Address(esp, 8), esi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1742
  movl(esi, ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1743
  shrl(esi, 20);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1744
  andl(eax, 1048575);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1745
  movl(ecx, esi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1746
  orl(eax, 1048576);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1747
  negl(ecx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1748
  movl(edx, eax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1749
  addl(ecx, 19);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1750
  addl(esi, 13);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1751
  movl(Address(esp, 24), ecx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1752
  shrl(edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1753
  movl(ecx, esi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1754
  shll(eax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1755
  movl(ecx, Address(esp, 24));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1756
  movl(esi, Address(esp, 0));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1757
  shrl(esi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1758
  orl(eax, esi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1759
  cmpl(ebx, 1094713344);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1760
  movsd(Address(esp, 16), xmm1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1761
  fld_d(Address(esp, 16));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1762
  cmov32(Assembler::below, eax, edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1763
  movl(esi, Address(esp, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1764
  lea(edx, Address(eax, 1));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1765
  movl(ebx, edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1766
  andl(ebx, -2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1767
  movl(Address(esp, 16), ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1768
  fild_s(Address(esp, 16));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1769
  movl(ebx, Address(esp, 12));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1770
  cmpl(Address(esp, 40), 1094713344);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1771
  jcc(Assembler::aboveEqual, B1_10);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1772
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1773
  bind(B1_9);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1774
  fld_d(ExternalAddress(Pi4x3));    //0x54443000UL, 0xbfe921fbUL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1775
  fmul(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1776
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1777
  fld_d(ExternalAddress(8 + Pi4x3));    //0x3b39a000UL, 0x3d373dcbUL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1778
  fmul(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1779
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1780
  fld_d(ExternalAddress(16 + Pi4x3));    //0xe0e68948UL, 0xba845c06UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1781
  fmulp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1782
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1783
  jmp(B1_17);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1784
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1785
  bind(B1_10);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1786
  fld_d(ExternalAddress(Pi4x4));    //0x54400000UL, 0xbfe921fbUL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1787
  fmul(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1788
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1789
  fld_d(ExternalAddress(8 + Pi4x4));    //0x1a600000UL, 0xbdc0b461UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1790
  fmul(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1791
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1792
  fld_d(ExternalAddress(16 + Pi4x4));    //0x2e000000UL, 0xbb93198aUL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1793
  fmul(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1794
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1795
  fld_d(ExternalAddress(24 + Pi4x4));    //0x252049c1UL, 0xb96b839aUL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1796
  fmulp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1797
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1798
  jmp(B1_17);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1799
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1800
  bind(B1_11);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1801
  movzwl(edx, Address(esp, 30));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1802
  movl(eax, edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1803
  andl(eax, 768);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1804
  cmpl(eax, 768);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1805
  jcc(Assembler::equal, B1_43);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1806
  bind(B1_12);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1807
  orl(edx, -64768);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1808
  movw(Address(esp, 28), edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1809
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1810
  bind(B1_13);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1811
  fldcw(Address(esp, 28));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1812
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1813
  bind(B1_14);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1814
  movsd(xmm1, Address(ebp, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1815
  movl(ebx, 1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1816
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1817
  bind(B1_15);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1818
  movsd(Address(esp, 16), xmm1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1819
  fld_d(Address(esp, 16));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1820
  addl(esp, -32);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1821
  lea(eax, Address(esp, 32));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1822
  fstp_x(Address(esp, 0));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1823
  movl(Address(esp, 12), 0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1824
  movl(Address(esp, 16), eax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1825
  call(RuntimeAddress(CAST_FROM_FN_PTR(address, StubRoutines::dlibm_reduce_pi04l())));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1826
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1827
  bind(B1_46);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1828
  addl(esp, 32);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1829
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1830
  bind(B1_16);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1831
  fld_d(Address(esp, 0));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1832
  lea(edx, Address(eax, 1));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1833
  fld_d(Address(esp, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1834
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1835
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1836
  bind(B1_17);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1837
  movl(ecx, edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1838
  addl(eax, 3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1839
  shrl(ecx, 2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1840
  andl(ecx, 1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1841
  shrl(eax, 2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1842
  xorl(esi, ecx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1843
  movl(ecx, Address(esp, 36));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1844
  andl(eax, 1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1845
  andl(ecx, 3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1846
  cmpl(ecx, 3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1847
  jcc(Assembler::notEqual, B1_25);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1848
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1849
  bind(B1_18);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1850
  fld_x(ExternalAddress(84 + SP));    //0x8610, 0x307f, 0x62
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1851
  fld_s(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1852
  fmul((2));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1853
  testb(edx, 2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1854
  fmula((1));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1855
  fld_x(ExternalAddress(72 + SP));    //0x44a6, 0xed1a, 0x29
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1856
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1857
  fmula(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1858
  fld_x(ExternalAddress(60 + SP));    //0xbf33, 0x8bb4, 0x2f
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1859
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1860
  fmula(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1861
  fld_x(ExternalAddress(48 + SP));    //0x825b, 0x3997, 0x2b
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1862
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1863
  fmula(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1864
  fld_x(ExternalAddress(36 + SP));    //0x45f6, 0xb616, 0x1d
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1865
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1866
  fmula(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1867
  fld_x(ExternalAddress(24 + SP));    //0xc527, 0x0d00, 0x00
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1868
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1869
  fmula(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1870
  fld_x(ExternalAddress(12 + SP));    //0x8887, 0x8888, 0x88
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1871
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1872
  fmula(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1873
  fld_x(ExternalAddress(SP));    //0xaaab, 0xaaaa, 0xaa
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1874
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1875
  fmula(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1876
  fld_x(ExternalAddress(84 + CP));    //0x3ac6, 0x0ba0, 0x07
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1877
  fmul(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1878
  fld_x(ExternalAddress(72 + CP));    //0xdaba, 0xfe79, 0xea
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1879
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1880
  fmul(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1881
  fld_x(ExternalAddress(62 + CP));    //0xd84d, 0xadee, 0xc6
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1882
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1883
  fmul(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1884
  fld_x(ExternalAddress(48 + CP));    //0x03fe, 0x3f65, 0x7d
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1885
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1886
  fmul(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1887
  fld_x(ExternalAddress(36 + CP));    //0xf024, 0x0cac, 0x00
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1888
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1889
  fmul(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1890
  fld_x(ExternalAddress(24 + CP));    //0x9c2f, 0x0b60, 0x60
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1891
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1892
  fmul(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1893
  fld_x(ExternalAddress(12 + CP));    //0xaaa5, 0xaaaa, 0xaa
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1894
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1895
  fmul(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1896
  fld_x(ExternalAddress(CP));    //0x0000, 0x0000, 0x00
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1897
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1898
  fmulp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1899
  fld_d(Address(ones, RelocationHolder::none).plus_disp(esi, Address::times_8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1900
  fld_d(Address(ones, RelocationHolder::none).plus_disp(eax, Address::times_8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1901
  jcc(Assembler::equal, B1_22);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1902
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1903
  bind(B1_19);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1904
  fmulp(4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1905
  testl(ebx, ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1906
  fxch(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1907
  fmul(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1908
  movl(eax, Address(esp, 2));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1909
  faddp(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1910
  fxch(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1911
  fstp_d(Address(eax, 0));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1912
  fmula(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1913
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1914
  fstp_d(Address(eax, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1915
  jcc(Assembler::equal, B1_21);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1916
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1917
  bind(B1_20);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1918
  fldcw(Address(esp, 30));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1919
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1920
  bind(B1_21);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1921
  addl(esp, 52);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1922
  pop(ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1923
  pop(edi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1924
  pop(esi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1925
  movl(esp, ebp);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1926
  pop(ebp);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1927
  ret(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1928
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1929
  bind(B1_22);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1930
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1931
  fmulp(4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1932
  testl(ebx, ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1933
  fxch(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1934
  fmul(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1935
  movl(eax, Address(esp, 32));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1936
  faddp(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1937
  fxch(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1938
  fstp_d(Address(eax, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1939
  fmula(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1940
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1941
  fstp_d(Address(eax, 0));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1942
  jcc(Assembler::equal, B1_24);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1943
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1944
  bind(B1_23);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1945
  fldcw(Address(esp, 30));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1946
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1947
  bind(B1_24);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1948
  addl(esp, 52);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1949
  pop(ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1950
  pop(edi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1951
  pop(esi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1952
  movl(esp, ebp);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1953
  pop(ebp);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1954
  ret(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1955
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1956
  bind(B1_25);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1957
  testb(Address(esp, 36), 2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1958
  jcc(Assembler::equal, B1_33);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1959
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1960
  bind(B1_26);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1961
  fld_s(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1962
  testb(edx, 2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1963
  fmul(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1964
  fld_s(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1965
  fmul(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1966
  jcc(Assembler::equal, B1_30);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1967
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1968
  bind(B1_27);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1969
  fstp_d(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1970
  fld_x(ExternalAddress(84 + CP));    //0x3ac6, 0x0ba0, 0x07
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1971
  testl(ebx, ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1972
  fmul(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1973
  fld_x(ExternalAddress(72 + CP));    //0xdaba, 0xfe79, 0xea
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1974
  fmul(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1975
  fld_x(ExternalAddress(60 + CP));    //0xd84d, 0xadee, 0xc6
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1976
  movl(eax, Address(rsp, 32));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1977
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1978
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1979
  fmul(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1980
  fld_x(ExternalAddress(48 + CP));    //0x03fe, 0x3f65, 0x7d
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1981
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1982
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1983
  fmul(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1984
  fld_x(ExternalAddress(36 + CP));    //0xf024, 0x0cac, 0x00
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1985
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1986
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1987
  fmul(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1988
  fld_x(ExternalAddress(24 + CP));    //0x9c2f, 0x0b60, 0x60
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1989
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1990
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1991
  fmul(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1992
  fld_x(ExternalAddress(12 + CP));    //0xaaa5, 0xaaaa, 0xaa
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1993
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1994
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1995
  fmulp(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1996
  fld_x(ExternalAddress(CP));    //0x0000, 0x0000, 0x00
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1997
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1998
  fmulp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  1999
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2000
  fld_d(Address(ones, RelocationHolder::none).plus_disp(rsi, Address::times_8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2001
  fmula(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2002
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2003
  fstp_d(Address(eax, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2004
  jcc(Assembler::equal, B1_29);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2005
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2006
  bind(B1_28);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2007
  fldcw(Address(esp, 30));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2008
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2009
  bind(B1_29);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2010
  addl(esp, 52);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2011
  pop(ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2012
  pop(edi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2013
  pop(esi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2014
  movl(esp, ebp);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2015
  pop(ebp);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2016
  ret(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2017
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2018
  bind(B1_30);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2019
  fld_x(ExternalAddress(84 + SP));    //0x8610, 0x307f, 0x62
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2020
  testl(ebx, ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2021
  fmul(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2022
  fld_x(ExternalAddress(72 + SP));    //0x44a6, 0xed1a, 0x29
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2023
  fmul(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2024
  fld_x(ExternalAddress(60 + SP));    //0xbf33, 0x8bb4, 0x2f
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2025
  movl(eax, Address(rsp, 32));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2026
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2027
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2028
  fmul(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2029
  fld_x(ExternalAddress(48 + SP));    //0x825b, 0x3997, 0x2b
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2030
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2031
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2032
  fmul(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2033
  fld_x(ExternalAddress(36 + SP));    //0x45f6, 0xb616, 0x1d
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2034
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2035
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2036
  fmul(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2037
  fld_x(ExternalAddress(24 + SP));    //0xc527, 0x0d00, 0x00
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2038
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2039
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2040
  fmul(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2041
  fld_x(ExternalAddress(12 + SP));    //0x8887, 0x8888, 0x88
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2042
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2043
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2044
  fmulp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2045
  fld_x(ExternalAddress(SP));    //0xaaab, 0xaaaa, 0xaa
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2046
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2047
  fmulp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2048
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2049
  fld_d(Address(ones, RelocationHolder::none).plus_disp(rsi, Address::times_8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2050
  fmulp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2051
  fmul(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2052
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2053
  fstp_d(Address(eax, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2054
  jcc(Assembler::equal, B1_32);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2055
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2056
  bind(B1_31);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2057
  fldcw(Address(esp, 30));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2058
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2059
  bind(B1_32);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2060
  addl(esp, 52);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2061
  pop(ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2062
  pop(edi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2063
  pop(esi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2064
  movl(esp, ebp);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2065
  pop(ebp);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2066
  ret(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2067
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2068
  bind(B1_33);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2069
  testb(Address(esp, 36), 1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2070
  jcc(Assembler::equal, B1_41);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2071
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2072
  bind(B1_34);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2073
  fld_s(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2074
  testb(edx, 2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2075
  fmul(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2076
  fld_s(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2077
  fmul(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2078
  jcc(Assembler::equal, B1_38);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2079
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2080
  bind(B1_35);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2081
  fld_x(ExternalAddress(84 + SP));    //0x8610, 0x307f, 0x62
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2082
  testl(ebx, ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2083
  fmul(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2084
  fld_x(ExternalAddress(72 + SP));    //0x44a6, 0xed1a, 0x29
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2085
  fmul(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2086
  fld_x(ExternalAddress(60 + SP));    //0xbf33, 0x8bb4, 0x2f
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2087
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2088
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2089
  fmul(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2090
  fld_x(ExternalAddress(48 + SP));    //0x825b, 0x3997, 0x2b
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2091
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2092
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2093
  fmul(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2094
  fld_x(ExternalAddress(36 + SP));    //0x45f6, 0xb616, 0x1d
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2095
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2096
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2097
  fmul(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2098
  fld_x(ExternalAddress(24 + SP));    //0xc527, 0x0d00, 0x00
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2099
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2100
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2101
  fmul(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2102
  fld_x(ExternalAddress(12 + SP));    //0x8887, 0x8888, 0x88
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2103
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2104
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2105
  fmulp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2106
  fld_x(ExternalAddress(SP));    //0xaaab, 0xaaaa, 0xaa
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2107
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2108
  fmulp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2109
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2110
  fld_d(Address(ones, RelocationHolder::none).plus_disp(eax, Address::times_8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2111
  fmulp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2112
  fmul(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2113
  movl(eax, Address(esp, 32));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2114
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2115
  fstp_d(Address(eax, 0));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2116
  jcc(Assembler::equal, B1_37);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2117
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2118
  bind(B1_36);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2119
  fldcw(Address(esp, 30));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2120
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2121
  bind(B1_37);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2122
  addl(esp, 52);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2123
  pop(ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2124
  pop(edi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2125
  pop(esi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2126
  movl(esp, ebp);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2127
  pop(ebp);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2128
  ret(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2129
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2130
  bind(B1_38);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2131
  fstp_d(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2132
  fld_x(ExternalAddress(84 + CP));    //0x3ac6, 0x0ba0, 0x07
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2133
  testl(ebx, ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2134
  fmul(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2135
  fld_x(ExternalAddress(72 + CP));    //0xdaba, 0xfe79, 0xea
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2136
  fmul(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2137
  fld_x(ExternalAddress(60 + CP));    //0xd84d, 0xadee, 0xc6
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2138
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2139
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2140
  fmul(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2141
  fld_x(ExternalAddress(48 + CP));    //0x03fe, 0x3f65, 0x7d
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2142
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2143
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2144
  fmul(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2145
  fld_x(ExternalAddress(36 + CP));    //0xf024, 0x0cac, 0x00
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2146
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2147
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2148
  fmul(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2149
  fld_x(ExternalAddress(24 + CP));    //0x9c2f, 0x0b60, 0x60
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2150
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2151
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2152
  fmul(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2153
  fld_x(ExternalAddress(12 + CP));    //0xaaa5, 0xaaaa, 0xaa
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2154
  faddp(2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2155
  fxch(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2156
  fmulp(3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2157
  fld_x(ExternalAddress(CP));    //0x0000, 0x0000, 0x00
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2158
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2159
  fmulp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2160
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2161
  fld_d(Address(ones, RelocationHolder::none).plus_disp(eax, Address::times_8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2162
  fmula(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2163
  movl(eax, Address(esp, 32));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2164
  faddp(1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2165
  fstp_d(Address(eax, 0));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2166
  jcc(Assembler::equal, B1_40);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2167
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2168
  bind(B1_39);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2169
  fldcw(Address(esp, 30));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2170
  bind(B1_40);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2171
  addl(esp, 52);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2172
  pop(ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2173
  pop(edi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2174
  pop(esi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2175
  movl(esp, ebp);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2176
  pop(ebp);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2177
  ret(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2178
  bind(B1_41);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2179
  fstp_d(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2180
  addl(esp, 52);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2181
  pop(ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2182
  pop(edi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2183
  pop(esi);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2184
  movl(esp, ebp);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2185
  pop(ebp);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2186
  ret(0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2187
  bind(B1_42);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2188
  xorl(ebx, ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2189
  jmp(B1_8);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2190
  bind(B1_43);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2191
  xorl(ebx, ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2192
  jmp(B1_15);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2193
}
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2194
50120
9da00197ff72 8203220: Introduce ATTRIBUTE_ALIGNED macro
pliden
parents: 47216
diff changeset
  2195
ATTRIBUTE_ALIGNED(16) juint _static_const_table_sin[] =
38018
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2196
{
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2197
    0x00000000UL, 0x00000000UL, 0x00000000UL, 0x00000000UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2198
    0x00000000UL, 0x00000000UL, 0x3ff00000UL, 0x176d6d31UL, 0xbf73b92eUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2199
    0xbc29b42cUL, 0x3fb917a6UL, 0xe0000000UL, 0xbc3e2718UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2200
    0x3ff00000UL, 0x011469fbUL, 0xbf93ad06UL, 0x3c69a60bUL, 0x3fc8f8b8UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2201
    0xc0000000UL, 0xbc626d19UL, 0x00000000UL, 0x3ff00000UL, 0x939d225aUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2202
    0xbfa60beaUL, 0x2ed59f06UL, 0x3fd29406UL, 0xa0000000UL, 0xbc75d28dUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2203
    0x00000000UL, 0x3ff00000UL, 0x866b95cfUL, 0xbfb37ca1UL, 0xa6aea963UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2204
    0x3fd87de2UL, 0xe0000000UL, 0xbc672cedUL, 0x00000000UL, 0x3ff00000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2205
    0x73fa1279UL, 0xbfbe3a68UL, 0x3806f63bUL, 0x3fde2b5dUL, 0x20000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2206
    0x3c5e0d89UL, 0x00000000UL, 0x3ff00000UL, 0x5bc57974UL, 0xbfc59267UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2207
    0x39ae68c8UL, 0x3fe1c73bUL, 0x20000000UL, 0x3c8b25ddUL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2208
    0x3ff00000UL, 0x53aba2fdUL, 0xbfcd0dfeUL, 0x25091dd6UL, 0x3fe44cf3UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2209
    0x20000000UL, 0x3c68076aUL, 0x00000000UL, 0x3ff00000UL, 0x99fcef32UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2210
    0x3fca8279UL, 0x667f3bcdUL, 0x3fe6a09eUL, 0x20000000UL, 0xbc8bdd34UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2211
    0x00000000UL, 0x3fe00000UL, 0x94247758UL, 0x3fc133ccUL, 0x6b151741UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2212
    0x3fe8bc80UL, 0x20000000UL, 0xbc82c5e1UL, 0x00000000UL, 0x3fe00000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2213
    0x9ae68c87UL, 0x3fac73b3UL, 0x290ea1a3UL, 0x3fea9b66UL, 0xe0000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2214
    0x3c39f630UL, 0x00000000UL, 0x3fe00000UL, 0x7f909c4eUL, 0xbf9d4a2cUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2215
    0xf180bdb1UL, 0x3fec38b2UL, 0x80000000UL, 0xbc76e0b1UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2216
    0x3fe00000UL, 0x65455a75UL, 0xbfbe0875UL, 0xcf328d46UL, 0x3fed906bUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2217
    0x20000000UL, 0x3c7457e6UL, 0x00000000UL, 0x3fe00000UL, 0x76acf82dUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2218
    0x3fa4a031UL, 0x56c62ddaUL, 0x3fee9f41UL, 0xe0000000UL, 0x3c8760b1UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2219
    0x00000000UL, 0x3fd00000UL, 0x0e5967d5UL, 0xbfac1d1fUL, 0xcff75cb0UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2220
    0x3fef6297UL, 0x20000000UL, 0x3c756217UL, 0x00000000UL, 0x3fd00000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2221
    0x0f592f50UL, 0xbf9ba165UL, 0xa3d12526UL, 0x3fefd88dUL, 0x40000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2222
    0xbc887df6UL, 0x00000000UL, 0x3fc00000UL, 0x00000000UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2223
    0x00000000UL, 0x3ff00000UL, 0x00000000UL, 0x00000000UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2224
    0x00000000UL, 0x0f592f50UL, 0x3f9ba165UL, 0xa3d12526UL, 0x3fefd88dUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2225
    0x40000000UL, 0xbc887df6UL, 0x00000000UL, 0xbfc00000UL, 0x0e5967d5UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2226
    0x3fac1d1fUL, 0xcff75cb0UL, 0x3fef6297UL, 0x20000000UL, 0x3c756217UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2227
    0x00000000UL, 0xbfd00000UL, 0x76acf82dUL, 0xbfa4a031UL, 0x56c62ddaUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2228
    0x3fee9f41UL, 0xe0000000UL, 0x3c8760b1UL, 0x00000000UL, 0xbfd00000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2229
    0x65455a75UL, 0x3fbe0875UL, 0xcf328d46UL, 0x3fed906bUL, 0x20000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2230
    0x3c7457e6UL, 0x00000000UL, 0xbfe00000UL, 0x7f909c4eUL, 0x3f9d4a2cUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2231
    0xf180bdb1UL, 0x3fec38b2UL, 0x80000000UL, 0xbc76e0b1UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2232
    0xbfe00000UL, 0x9ae68c87UL, 0xbfac73b3UL, 0x290ea1a3UL, 0x3fea9b66UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2233
    0xe0000000UL, 0x3c39f630UL, 0x00000000UL, 0xbfe00000UL, 0x94247758UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2234
    0xbfc133ccUL, 0x6b151741UL, 0x3fe8bc80UL, 0x20000000UL, 0xbc82c5e1UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2235
    0x00000000UL, 0xbfe00000UL, 0x99fcef32UL, 0xbfca8279UL, 0x667f3bcdUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2236
    0x3fe6a09eUL, 0x20000000UL, 0xbc8bdd34UL, 0x00000000UL, 0xbfe00000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2237
    0x53aba2fdUL, 0x3fcd0dfeUL, 0x25091dd6UL, 0x3fe44cf3UL, 0x20000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2238
    0x3c68076aUL, 0x00000000UL, 0xbff00000UL, 0x5bc57974UL, 0x3fc59267UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2239
    0x39ae68c8UL, 0x3fe1c73bUL, 0x20000000UL, 0x3c8b25ddUL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2240
    0xbff00000UL, 0x73fa1279UL, 0x3fbe3a68UL, 0x3806f63bUL, 0x3fde2b5dUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2241
    0x20000000UL, 0x3c5e0d89UL, 0x00000000UL, 0xbff00000UL, 0x866b95cfUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2242
    0x3fb37ca1UL, 0xa6aea963UL, 0x3fd87de2UL, 0xe0000000UL, 0xbc672cedUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2243
    0x00000000UL, 0xbff00000UL, 0x939d225aUL, 0x3fa60beaUL, 0x2ed59f06UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2244
    0x3fd29406UL, 0xa0000000UL, 0xbc75d28dUL, 0x00000000UL, 0xbff00000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2245
    0x011469fbUL, 0x3f93ad06UL, 0x3c69a60bUL, 0x3fc8f8b8UL, 0xc0000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2246
    0xbc626d19UL, 0x00000000UL, 0xbff00000UL, 0x176d6d31UL, 0x3f73b92eUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2247
    0xbc29b42cUL, 0x3fb917a6UL, 0xe0000000UL, 0xbc3e2718UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2248
    0xbff00000UL, 0x00000000UL, 0x00000000UL, 0x00000000UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2249
    0x00000000UL, 0x00000000UL, 0x00000000UL, 0xbff00000UL, 0x176d6d31UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2250
    0x3f73b92eUL, 0xbc29b42cUL, 0xbfb917a6UL, 0xe0000000UL, 0x3c3e2718UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2251
    0x00000000UL, 0xbff00000UL, 0x011469fbUL, 0x3f93ad06UL, 0x3c69a60bUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2252
    0xbfc8f8b8UL, 0xc0000000UL, 0x3c626d19UL, 0x00000000UL, 0xbff00000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2253
    0x939d225aUL, 0x3fa60beaUL, 0x2ed59f06UL, 0xbfd29406UL, 0xa0000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2254
    0x3c75d28dUL, 0x00000000UL, 0xbff00000UL, 0x866b95cfUL, 0x3fb37ca1UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2255
    0xa6aea963UL, 0xbfd87de2UL, 0xe0000000UL, 0x3c672cedUL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2256
    0xbff00000UL, 0x73fa1279UL, 0x3fbe3a68UL, 0x3806f63bUL, 0xbfde2b5dUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2257
    0x20000000UL, 0xbc5e0d89UL, 0x00000000UL, 0xbff00000UL, 0x5bc57974UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2258
    0x3fc59267UL, 0x39ae68c8UL, 0xbfe1c73bUL, 0x20000000UL, 0xbc8b25ddUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2259
    0x00000000UL, 0xbff00000UL, 0x53aba2fdUL, 0x3fcd0dfeUL, 0x25091dd6UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2260
    0xbfe44cf3UL, 0x20000000UL, 0xbc68076aUL, 0x00000000UL, 0xbff00000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2261
    0x99fcef32UL, 0xbfca8279UL, 0x667f3bcdUL, 0xbfe6a09eUL, 0x20000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2262
    0x3c8bdd34UL, 0x00000000UL, 0xbfe00000UL, 0x94247758UL, 0xbfc133ccUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2263
    0x6b151741UL, 0xbfe8bc80UL, 0x20000000UL, 0x3c82c5e1UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2264
    0xbfe00000UL, 0x9ae68c87UL, 0xbfac73b3UL, 0x290ea1a3UL, 0xbfea9b66UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2265
    0xe0000000UL, 0xbc39f630UL, 0x00000000UL, 0xbfe00000UL, 0x7f909c4eUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2266
    0x3f9d4a2cUL, 0xf180bdb1UL, 0xbfec38b2UL, 0x80000000UL, 0x3c76e0b1UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2267
    0x00000000UL, 0xbfe00000UL, 0x65455a75UL, 0x3fbe0875UL, 0xcf328d46UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2268
    0xbfed906bUL, 0x20000000UL, 0xbc7457e6UL, 0x00000000UL, 0xbfe00000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2269
    0x76acf82dUL, 0xbfa4a031UL, 0x56c62ddaUL, 0xbfee9f41UL, 0xe0000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2270
    0xbc8760b1UL, 0x00000000UL, 0xbfd00000UL, 0x0e5967d5UL, 0x3fac1d1fUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2271
    0xcff75cb0UL, 0xbfef6297UL, 0x20000000UL, 0xbc756217UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2272
    0xbfd00000UL, 0x0f592f50UL, 0x3f9ba165UL, 0xa3d12526UL, 0xbfefd88dUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2273
    0x40000000UL, 0x3c887df6UL, 0x00000000UL, 0xbfc00000UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2274
    0x00000000UL, 0x00000000UL, 0xbff00000UL, 0x00000000UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2275
    0x00000000UL, 0x00000000UL, 0x0f592f50UL, 0xbf9ba165UL, 0xa3d12526UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2276
    0xbfefd88dUL, 0x40000000UL, 0x3c887df6UL, 0x00000000UL, 0x3fc00000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2277
    0x0e5967d5UL, 0xbfac1d1fUL, 0xcff75cb0UL, 0xbfef6297UL, 0x20000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2278
    0xbc756217UL, 0x00000000UL, 0x3fd00000UL, 0x76acf82dUL, 0x3fa4a031UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2279
    0x56c62ddaUL, 0xbfee9f41UL, 0xe0000000UL, 0xbc8760b1UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2280
    0x3fd00000UL, 0x65455a75UL, 0xbfbe0875UL, 0xcf328d46UL, 0xbfed906bUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2281
    0x20000000UL, 0xbc7457e6UL, 0x00000000UL, 0x3fe00000UL, 0x7f909c4eUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2282
    0xbf9d4a2cUL, 0xf180bdb1UL, 0xbfec38b2UL, 0x80000000UL, 0x3c76e0b1UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2283
    0x00000000UL, 0x3fe00000UL, 0x9ae68c87UL, 0x3fac73b3UL, 0x290ea1a3UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2284
    0xbfea9b66UL, 0xe0000000UL, 0xbc39f630UL, 0x00000000UL, 0x3fe00000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2285
    0x94247758UL, 0x3fc133ccUL, 0x6b151741UL, 0xbfe8bc80UL, 0x20000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2286
    0x3c82c5e1UL, 0x00000000UL, 0x3fe00000UL, 0x99fcef32UL, 0x3fca8279UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2287
    0x667f3bcdUL, 0xbfe6a09eUL, 0x20000000UL, 0x3c8bdd34UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2288
    0x3fe00000UL, 0x53aba2fdUL, 0xbfcd0dfeUL, 0x25091dd6UL, 0xbfe44cf3UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2289
    0x20000000UL, 0xbc68076aUL, 0x00000000UL, 0x3ff00000UL, 0x5bc57974UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2290
    0xbfc59267UL, 0x39ae68c8UL, 0xbfe1c73bUL, 0x20000000UL, 0xbc8b25ddUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2291
    0x00000000UL, 0x3ff00000UL, 0x73fa1279UL, 0xbfbe3a68UL, 0x3806f63bUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2292
    0xbfde2b5dUL, 0x20000000UL, 0xbc5e0d89UL, 0x00000000UL, 0x3ff00000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2293
    0x866b95cfUL, 0xbfb37ca1UL, 0xa6aea963UL, 0xbfd87de2UL, 0xe0000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2294
    0x3c672cedUL, 0x00000000UL, 0x3ff00000UL, 0x939d225aUL, 0xbfa60beaUL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2295
    0x2ed59f06UL, 0xbfd29406UL, 0xa0000000UL, 0x3c75d28dUL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2296
    0x3ff00000UL, 0x011469fbUL, 0xbf93ad06UL, 0x3c69a60bUL, 0xbfc8f8b8UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2297
    0xc0000000UL, 0x3c626d19UL, 0x00000000UL, 0x3ff00000UL, 0x176d6d31UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2298
    0xbf73b92eUL, 0xbc29b42cUL, 0xbfb917a6UL, 0xe0000000UL, 0x3c3e2718UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2299
    0x00000000UL, 0x3ff00000UL, 0x55555555UL, 0xbfc55555UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2300
    0xbfe00000UL, 0x11111111UL, 0x3f811111UL, 0x55555555UL, 0x3fa55555UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2301
    0x1a01a01aUL, 0xbf2a01a0UL, 0x16c16c17UL, 0xbf56c16cUL, 0xa556c734UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2302
    0x3ec71de3UL, 0x1a01a01aUL, 0x3efa01a0UL, 0x1a600000UL, 0x3d90b461UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2303
    0x1a600000UL, 0x3d90b461UL, 0x54400000UL, 0x3fb921fbUL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2304
    0x00000000UL, 0x2e037073UL, 0x3b63198aUL, 0x00000000UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2305
    0x6dc9c883UL, 0x40245f30UL, 0x00000000UL, 0x00000000UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2306
    0x43380000UL, 0x00000000UL, 0x00000000UL, 0x00000000UL, 0x43600000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2307
    0x00000000UL, 0x00000000UL, 0x00000000UL, 0x3c800000UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2308
    0x00000000UL, 0xffffffffUL, 0x3fefffffUL, 0x00000000UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2309
    0x00000000UL, 0x80000000UL, 0x00000000UL, 0x00000000UL, 0x00000000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2310
    0x80000000UL, 0x00000000UL, 0x80000000UL, 0x00000000UL, 0x3fe00000UL,
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2311
    0x00000000UL, 0x3fe00000UL
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2312
};
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2313
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2314
void MacroAssembler::fast_sin(XMMRegister xmm0, XMMRegister xmm1, XMMRegister xmm2, XMMRegister xmm3, XMMRegister xmm4, XMMRegister xmm5, XMMRegister xmm6, XMMRegister xmm7, Register eax, Register ebx, Register edx) {
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2315
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2316
  Label L_2TAG_PACKET_0_0_2, L_2TAG_PACKET_1_0_2, L_2TAG_PACKET_2_0_2, L_2TAG_PACKET_3_0_2;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2317
  Label L_2TAG_PACKET_4_0_2, start;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2318
  assert_different_registers(eax, ebx, edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2319
  address static_const_table_sin = (address)_static_const_table_sin;
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2320
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2321
  bind(start);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2322
  subl(rsp, 120);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2323
  movl(Address(rsp, 56), ebx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2324
  lea(ebx, ExternalAddress(static_const_table_sin));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2325
  movsd(xmm0, Address(rsp, 128));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2326
  pextrw(eax, xmm0, 3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2327
  andl(eax, 32767);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2328
  subl(eax, 12336);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2329
  cmpl(eax, 4293);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2330
  jcc(Assembler::above, L_2TAG_PACKET_0_0_2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2331
  movsd(xmm1, Address(ebx, 2160));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2332
  mulsd(xmm1, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2333
  movsd(xmm5, Address(ebx, 2272));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2334
  movdqu(xmm4, Address(ebx, 2256));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2335
  pand(xmm4, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2336
  por(xmm5, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2337
  movsd(xmm3, Address(ebx, 2128));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2338
  movdqu(xmm2, Address(ebx, 2112));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2339
  addpd(xmm1, xmm5);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2340
  cvttsd2sil(edx, xmm1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2341
  cvtsi2sdl(xmm1, edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2342
  mulsd(xmm3, xmm1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2343
  unpcklpd(xmm1, xmm1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2344
  addl(edx, 1865216);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2345
  movdqu(xmm4, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2346
  andl(edx, 63);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2347
  movdqu(xmm5, Address(ebx, 2096));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2348
  lea(eax, Address(ebx, 0));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2349
  shll(edx, 5);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2350
  addl(eax, edx);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2351
  mulpd(xmm2, xmm1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2352
  subsd(xmm0, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2353
  mulsd(xmm1, Address(ebx, 2144));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2354
  subsd(xmm4, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2355
  movsd(xmm7, Address(eax, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2356
  unpcklpd(xmm0, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2357
  movapd(xmm3, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2358
  subsd(xmm4, xmm2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2359
  mulpd(xmm5, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2360
  subpd(xmm0, xmm2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2361
  movdqu(xmm6, Address(ebx, 2064));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2362
  mulsd(xmm7, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2363
  subsd(xmm3, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2364
  mulpd(xmm5, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2365
  mulpd(xmm0, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2366
  subsd(xmm3, xmm2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2367
  movdqu(xmm2, Address(eax, 0));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2368
  subsd(xmm1, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2369
  movsd(xmm3, Address(eax, 24));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2370
  addsd(xmm2, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2371
  subsd(xmm7, xmm2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2372
  mulsd(xmm2, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2373
  mulpd(xmm6, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2374
  mulsd(xmm3, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2375
  mulpd(xmm2, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2376
  mulpd(xmm0, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2377
  addpd(xmm5, Address(ebx, 2080));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2378
  mulsd(xmm4, Address(eax, 0));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2379
  addpd(xmm6, Address(ebx, 2048));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2380
  mulpd(xmm5, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2381
  movapd(xmm0, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2382
  addsd(xmm3, Address(eax, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2383
  mulpd(xmm1, xmm7);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2384
  movapd(xmm7, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2385
  addsd(xmm4, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2386
  addpd(xmm6, xmm5);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2387
  movsd(xmm5, Address(eax, 8));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2388
  subsd(xmm5, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2389
  subsd(xmm3, xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2390
  addsd(xmm1, Address(eax, 16));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2391
  mulpd(xmm6, xmm2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2392
  addsd(xmm5, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2393
  addsd(xmm3, xmm7);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2394
  addsd(xmm1, xmm5);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2395
  addsd(xmm1, xmm3);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2396
  addsd(xmm1, xmm6);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2397
  unpckhpd(xmm6, xmm6);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2398
  addsd(xmm1, xmm6);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2399
  addsd(xmm4, xmm1);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2400
  movsd(Address(rsp, 0), xmm4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2401
  fld_d(Address(rsp, 0));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2402
  jmp(L_2TAG_PACKET_1_0_2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2403
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2404
  bind(L_2TAG_PACKET_0_0_2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2405
  jcc(Assembler::greater, L_2TAG_PACKET_2_0_2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2406
  shrl(eax, 4);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2407
  cmpl(eax, 268434685);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2408
  jcc(Assembler::notEqual, L_2TAG_PACKET_3_0_2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2409
  movsd(Address(rsp, 0), xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2410
  fld_d(Address(rsp, 0));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2411
  jmp(L_2TAG_PACKET_1_0_2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2412
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2413
  bind(L_2TAG_PACKET_3_0_2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2414
  movsd(xmm3, Address(ebx, 2192));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2415
  mulsd(xmm3, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2416
  subsd(xmm3, xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2417
  mulsd(xmm3, Address(ebx, 2208));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2418
  movsd(Address(rsp, 0), xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2419
  fld_d(Address(rsp, 0));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2420
  jmp(L_2TAG_PACKET_1_0_2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2421
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2422
  bind(L_2TAG_PACKET_2_0_2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2423
  movl(eax, Address(rsp, 132));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2424
  andl(eax, 2146435072);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2425
  cmpl(eax, 2146435072);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2426
  jcc(Assembler::equal, L_2TAG_PACKET_4_0_2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2427
  subl(rsp, 32);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2428
  movsd(Address(rsp, 0), xmm0);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2429
  lea(eax, Address(rsp, 40));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2430
  movl(Address(rsp, 8), eax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2431
  movl(eax, 2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2432
  movl(Address(rsp, 12), eax);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2433
  call(RuntimeAddress(CAST_FROM_FN_PTR(address, StubRoutines::dlibm_sin_cos_huge())));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2434
  addl(rsp, 32);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2435
  fld_d(Address(rsp, 16));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2436
  jmp(L_2TAG_PACKET_1_0_2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2437
  bind(L_2TAG_PACKET_4_0_2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2438
  fld_d(Address(rsp, 128));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2439
  fmul_d(Address(ebx, 2240));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2440
  bind(L_2TAG_PACKET_1_0_2);
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2441
  movl(ebx, Address(rsp, 56));
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2442
}
1dc6c6f21231 8152907: Update for x86 tan and log10 in the math lib
vdeshpande
parents:
diff changeset
  2443
#endif