15d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang/*
25d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei ZhangCopyright (c) 2014, Intel Corporation
35d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei ZhangAll rights reserved.
45d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang
55d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei ZhangRedistribution and use in source and binary forms, with or without
65d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhangmodification, are permitted provided that the following conditions are met:
75d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang
85d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang    * Redistributions of source code must retain the above copyright notice,
95d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang    * this list of conditions and the following disclaimer.
105d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang
115d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang    * Redistributions in binary form must reproduce the above copyright notice,
125d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang    * this list of conditions and the following disclaimer in the documentation
135d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang    * and/or other materials provided with the distribution.
145d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang
155d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang    * Neither the name of Intel Corporation nor the names of its contributors
165d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang    * may be used to endorse or promote products derived from this software
175d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang    * without specific prior written permission.
185d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang
195d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei ZhangTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
205d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei ZhangANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
215d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei ZhangWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
225d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei ZhangDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
235d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei ZhangANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
245d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
255d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei ZhangLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
265d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei ZhangANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
275d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
285d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei ZhangSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
295d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang*/
305d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang
315d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang/******************************************************************************/
325d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang//                     ALGORITHM DESCRIPTION
335d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang//                     ---------------------
345d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang//
355d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang// X87 version:
365d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang// Use 80-bit FPU precision fmul, fsqrt to compute square and sqrt.
375d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang//
385d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang// SSE version:
395d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang// Swap x, y if |x|<|y|
405d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang// For x=2^k*x, get y=y*2^(-k)
415d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang// Get S ~ sqrt(x^2+y^2)  (leading 1 + leading 25 mantissa bits)
425d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang//
435d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang// Get D = ( RN(x^2+y^2) - S^2 ) + ( x^2 - RN(x^2) ) +
445d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang//                               + ( y^2 - ((RN(x^2+y^2)-RN(x^2)) )
455d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang//
465d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang// Result is 2^k*(S + Se),  where Se = S*e
475d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang//        S*e is approximated as (D/2S)*( 1 - (D/2S)^2*1.0/S )
485d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang//
495d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang// Return 2^k*(S+Se)
505d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang//
515d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang// For |y/x|<2^(-64), return x
525d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang//
535d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang// For cases where maximum biased exponent is either greater than 7fdh or
545d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang// below 32, take a special path to check for special cases (0, NaN, Inf),
555d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang// possible overflow, and more accurate computation for denormal results
565d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang//
575d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang// Special cases:
585d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang//  hypot(x,y), hypot(y,x), and hypot(x,-y) are equivalent
595d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang//  hypot(x,+-0) is equivalent to fabs(x)
605d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang//  hypot(x,y) = y if (x==NaN or x==INF) and y==INF
615d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang//  hypot(x,y) = x if (x==NaN or x==INF) and y!=INF (even if y==NaN!)
625d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang//  hypot(x,y) = y if (x!=NaN and x!=INF) and (y==NaN or y==INF)
635d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang//
645d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang/******************************************************************************/
655d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang
665d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang#include <private/bionic_asm.h>
675d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang# -- Begin  static_func
685d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        .text
695d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        .align __bionic_asm_align
705d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        .type static_func, @function
715d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhangstatic_func:
725d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang..B1.1:
735d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        call      ..L2
745d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang..L2:
755d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        popl      %eax
765d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        lea       _GLOBAL_OFFSET_TABLE_+[. - ..L2](%eax), %eax
775d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        lea       static_const_table@GOTOFF(%eax), %eax
785d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        ret
795d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        .size   static_func,.-static_func
805d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang# -- End  static_func
815d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang
825d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang# -- Begin  hypot
835d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei ZhangENTRY(hypot)
845d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang# parameter 1: 8 + %ebp
855d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang# parameter 2: 16 + %ebp
865d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang..B2.1:
875d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang..B2.2:
885d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        pushl     %ebp
895d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        movl      %esp, %ebp
905d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        subl      $152, %esp
915d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        movl      %ebx, 96(%esp)
925d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        call      static_func
935d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        movl      %eax, %ebx
945d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        movapd    (%ebx), %xmm3
955d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        movsd     160(%esp), %xmm0
965d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        movsd     168(%esp), %xmm1
975d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        andpd     %xmm3, %xmm0
985d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        andpd     %xmm3, %xmm1
995d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        pextrw    $3, %xmm0, %eax
1005d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        pextrw    $3, %xmm1, %edx
1015d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        cmpl      $24528, %eax
1025d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        ja        .L_2TAG_PACKET_0.0.2
1035d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        cmpl      $24528, %edx
1045d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        ja        .L_2TAG_PACKET_0.0.2
1055d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang.L_2TAG_PACKET_1.0.2:
1065d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fldl      160(%esp)
1075d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fldl      168(%esp)
1085d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fxch      %st(1)
1095d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fmul      %st(0), %st
1105d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fxch      %st(1)
1115d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        nop
1125d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fmul      %st(0), %st
1135d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        faddp     %st, %st(1)
1145d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fsqrt
1155d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        jmp       .L_2TAG_PACKET_2.0.2
1165d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang.L_2TAG_PACKET_0.0.2:
1175d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        cmpl      $32752, %eax
1185d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        movl      %eax, %ecx
1195d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        jae       .L_2TAG_PACKET_3.0.2
1205d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        subl      %edx, %ecx
1215d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        cmpl      $32752, %edx
1225d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        jae       .L_2TAG_PACKET_3.0.2
1235d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        addl      $928, %ecx
1245d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        addl      %edx, %eax
1255d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        cmpl      $1856, %ecx
1265d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        ja        .L_2TAG_PACKET_4.0.2
1275d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        cmpl      $49056, %eax
1285d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        jb        .L_2TAG_PACKET_1.0.2
1295d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fldl      160(%esp)
1305d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fldl      168(%esp)
1315d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fxch      %st(1)
1325d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fmul      %st(0), %st
1335d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fxch      %st(1)
1345d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        nop
1355d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fmul      %st(0), %st
1365d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        faddp     %st, %st(1)
1375d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fsqrt
1385d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang.L_2TAG_PACKET_5.0.2:
1395d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fstl      (%esp)
1405d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fstpt     16(%esp)
1415d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        xorl      %eax, %eax
1425d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        movw      24(%esp), %ax
1435d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        cmpl      $17407, %eax
1445d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        jae       .L_2TAG_PACKET_6.0.2
1455d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fldl      (%esp)
1465d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        jmp       .L_2TAG_PACKET_7.0.2
1475d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang.L_2TAG_PACKET_4.0.2:
1485d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        movsd     %xmm0, 32(%esp)
1495d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        movsd     %xmm1, 40(%esp)
1505d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fldl      32(%esp)
1515d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        faddl     40(%esp)
1525d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        jmp       .L_2TAG_PACKET_5.0.2
1535d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang.L_2TAG_PACKET_6.0.2:
1545d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        movl      $46, %edx
1555d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang.L_2TAG_PACKET_8.0.2:
1565d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        movsd     160(%esp), %xmm0
1575d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        movsd     168(%esp), %xmm1
1585d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fldl      (%esp)
1595d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        jmp       .L_2TAG_PACKET_7.0.2
1605d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang.L_2TAG_PACKET_3.0.2:
1615d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        shufpd    $0, %xmm1, %xmm0
1625d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        movdqa    %xmm0, %xmm2
1635d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        movdqa    16(%ebx), %xmm3
1645d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        movsd     %xmm0, 32(%esp)
1655d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        movsd     %xmm1, 40(%esp)
1665d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        cmppd     $3, %xmm0, %xmm2
1675d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        cmppd     $0, %xmm0, %xmm3
1685d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        movmskpd  %xmm2, %edx
1695d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        movmskpd  %xmm3, %eax
1705d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        testl     %edx, %edx
1715d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        je        .L_2TAG_PACKET_9.0.2
1725d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fldl      32(%esp)
1735d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fmull     40(%esp)
1745d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        testl     $1, %eax
1755d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        jne       .L_2TAG_PACKET_10.0.2
1765d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        testl     $2, %eax
1775d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        jne       .L_2TAG_PACKET_11.0.2
1785d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        jmp       .L_2TAG_PACKET_2.0.2
1795d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang.L_2TAG_PACKET_9.0.2:
1805d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fldl      32(%esp)
1815d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        faddl     40(%esp)
1825d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        jmp       .L_2TAG_PACKET_2.0.2
1835d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang.L_2TAG_PACKET_10.0.2:
1845d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fstpl     40(%esp)
1855d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fldl      32(%esp)
1865d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        jmp       .L_2TAG_PACKET_7.0.2
1875d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang.L_2TAG_PACKET_11.0.2:
1885d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fstpl     32(%esp)
1895d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        fldl      40(%esp)
1905d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        jmp       .L_2TAG_PACKET_7.0.2
1915d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang.L_2TAG_PACKET_2.0.2:
1925d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang.L_2TAG_PACKET_7.0.2:
1935d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        movl      96(%esp), %ebx
1945d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        movl      %ebp, %esp
1955d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        popl      %ebp
1965d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang        ret
1975d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang..B2.3:
1985d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei ZhangEND(hypot)
1995d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang# -- End  hypot
2005d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang
2015d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang# Start file scope ASM
202995b813e91a5eb67a970b9f076911873bdf5dbc4Christopher FerrisALIAS_SYMBOL(hypotl, hypot);
2035d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang# End file scope ASM
2045d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang	.section .rodata, "a"
2055d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang	.align 16
2065d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang	.align 16
2075d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhangstatic_const_table:
2085d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang	.long	4294967295
2095d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang	.long	2147483647
2105d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang	.long	4294967295
2115d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang	.long	2147483647
2125d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang	.long	0
2135d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang	.long	2146435072
2145d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang	.long	0
2155d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang	.long	2146435072
2165d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang	.type	static_const_table,@object
2175d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang	.size	static_const_table,32
2185d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang	.data
2195d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang	.section .note.GNU-stack, ""
2205d4f0e6a26b66f1dab8d20a65af4469c6dd7370dJingwei Zhang# End
221