3 .type round_away, @function
43 .size round_away, .-round_away
45 .type round_and_return, @function
59 # 94 "../sysdeps/generic/get-rounding-mode.h" 1
79 movq __libc_errno@gottpoff
(%rip
), %rax
83 movsd
.LC1(%rip), %xmm0
84 mulsd
.LC0(%rip), %xmm0
103 movq __libc_errno@gottpoff
(%rip
), %rax
107 movsd
.LC3(%rip), %xmm0
108 mulsd
.LC2(%rip), %xmm0
120 movsd
.LC2(%rip), %xmm0
187 movq __libc_errno@gottpoff
(%rip
), %rax
188 movsd
.LC0(%rip), %xmm0
230 call __mpn_construct_double
247 movsd
.LC0(%rip), %xmm0
298 movsd
.LC0(%rip), %xmm0
299 addsd
.LC4(%rip), %xmm0
323 movabsq $
4503599627370496, %rax
331 movabsq $
4503599627370496, %rax
362 .size round_and_return, .-round_and_return
363 .section .rodata.str1.1,"aMS",@progbits,1
369 .string "*nsize < MPNSIZE"
372 .type str_to_mpn.isra.0, @function
407 leaq
0(%rbp
,%rbp
,4), %rcx
411 leaq
-48(%rax
,%rcx
,2), %rbp
425 movabsq $
-8446744073709551616, %rcx
447 movq
%rax
, (%r12,%rdx
,8)
465 leaq _tens_in_limb
(%rip
), %rdx
466 movq
(%rdx
,%rax
,8), %rcx
519 movq
8(%r12,%rdx
,8), %rdi
521 movq
%rcx
, 8(%r12,%rdx
,8)
536 leaq _tens_in_limb
(%rip
), %rsi
537 imulq
(%rsi
,%rcx
,8), %rbp
540 movq
(%rsi
,%rcx
,8), %rcx
560 movq
8(%r12,%rdx
,8), %rdi
562 movq
%rcx
, 8(%r12,%rdx
,8)
578 movq
%rax
, (%r12,%rdx
,8)
585 leaq __PRETTY_FUNCTION__.11822
(%rip
), %rcx
586 leaq
.LC5(%rip), %rsi
587 leaq
.LC7(%rip), %rdi
591 leaq __PRETTY_FUNCTION__.11822
(%rip
), %rcx
592 leaq
.LC5(%rip), %rsi
593 leaq
.LC7(%rip), %rdi
597 leaq __PRETTY_FUNCTION__.11822
(%rip
), %rcx
598 leaq
.LC5(%rip), %rsi
599 leaq
.LC6(%rip), %rdi
602 .size str_to_mpn.isra.0, .-str_to_mpn.isra.0
603 .section .rodata.str1.1
605 .string "decimal_len > 0"
612 .section .rodata.str1.8,"aMS",@progbits,1
615 .string "dig_no <= (uintmax_t) INTMAX_MAX"
618 .string "int_no <= (uintmax_t) (INTMAX_MAX + MIN_EXP - MANT_DIG) / 4"
621 .string "lead_zero == 0 && int_no <= (uintmax_t) INTMAX_MAX / 4"
624 .string "lead_zero <= (uintmax_t) (INTMAX_MAX - MAX_EXP - 3) / 4"
627 .string "int_no <= (uintmax_t) (INTMAX_MAX + MIN_10_EXP - MANT_DIG)"
630 .string "lead_zero == 0 && int_no <= (uintmax_t) INTMAX_MAX"
633 .string "lead_zero <= (uintmax_t) (INTMAX_MAX - MAX_10_EXP - 1)"
634 .section .rodata.str1.1
636 .string "dig_no >= int_no"
637 .section .rodata.str1.8
640 .string "lead_zero <= (base == 16 ? (uintmax_t) INTMAX_MAX / 4 : (uintmax_t) INTMAX_MAX)"
643 .string "lead_zero <= (base == 16 ? ((uintmax_t) exponent - (uintmax_t) INTMAX_MIN) / 4 : ((uintmax_t) exponent - (uintmax_t) INTMAX_MIN))"
644 .section .rodata.str1.1
647 .section .rodata.str1.8
650 .string "int_no <= (uintmax_t) (exponent < 0 ? (INTMAX_MAX - bits + 1) / 4 : (INTMAX_MAX - exponent - bits + 1) / 4)"
653 .string "dig_no > int_no && exponent <= 0 && exponent >= MIN_10_EXP - (DIG + 2)"
654 .section .rodata.str1.1
656 .string "int_no > 0 && exponent == 0"
657 .section .rodata.str1.8
660 .string "int_no == 0 && *startp != L_('0')"
661 .section .rodata.str1.1
663 .string "need_frac_digits > 0"
665 .string "numsize == 1 && n < d"
667 .string "numsize == densize"
672 .globl ____strtod_l_internal
673 .hidden ____strtod_l_internal
674 .type ____strtod_l_internal, @function
675 ____strtod_l_internal
:
713 testb $
32, 1(%rdi
,%rcx
,2)
736 movzbl
0(%r13,%rsi
), %ecx
737 movzbl
(%r11,%rsi
), %r9d
748 movq
112+_nl_C_locobj
(%rip
), %rax
749 movl
(%rax
,%rdx
,4), %eax
797 cmpb
%cl
, -1(%rbx
,%rdx
)
800 movzbl
(%r10,%rdx
), %ecx
833 movl
(%rsi
,%rdx
,4), %edi
850 cmpb
%cl
, -1(%rbx
,%rdx
)
853 movzbl
0(%r13,%rdx
), %ecx
862 movsbq
(%rbx
,%rdi
), %rdx
902 cmpb
%dl
, -1(%rbp
,%rax
)
905 movzbl
0(%r13,%rax
), %edx
911 leaq
0(%rbp
,%rax
), %rcx
921 movl
(%rdi
,%rax
,4), %eax
939 leaq
(%rdx
,%rbp
), %r14
949 movl
(%rax
,%r12,4), %eax
979 movl
(%rsi
,%rdx
,4), %edx
1018 leaq
(%rax
,%r14), %rdx
1031 movq
128(%rsp
), %rcx
1043 movl
24(%rsp
), %r14d
1044 movsd
.LC10(%rip), %xmm0
1053 movq
%rcx
, 128(%rsp
)
1073 movsbq
1(%r11), %rdi
1074 cmpl $
120, (%rsi
,%rdi
,4)
1086 movsbq
1(%rbx
), %r12
1097 movzbl
0(%r13), %ecx
1098 movzbl
1(%r13), %edi
1104 movzbl
1(%rbx
), %eax
1112 movzbl
1(%rbx
), %eax
1121 cmpb
%dl
, -1(%rbx
,%rax
)
1124 movzbl
0(%r13,%rax
), %edx
1133 movq
128(%rsp
), %rax
1134 movabsq $
-9223372036854775808, %rdx
1142 movq
%rax
, 128(%rsp
)
1143 leaq
(%rdi
,%rsi
), %rdx
1148 movq
128(%rsp
), %rax
1159 movq
%rax
, 128(%rsp
)
1170 leaq
324(%rcx
), %rax
1176 movabsq $
-6148914691236517205, %rsi
1178 leaq
(%rax
,%rax
,4), %rdx
1191 leaq
128(%rsp
), %rdi
1194 movq
%rdi
, 104(%rsp
)
1195 leaq
120(%rsp
), %rdi
1197 leaq
144(%rsp
), %rdi
1220 leaq _fpioconst_pow10
(%rip
), %r14
1228 leaq
624(%rsp
), %rax
1235 leaq
0(,%r15,8), %rdx
1248 leaq __tens
(%rip
), %rdi
1253 leaq
8(%rdi
,%rax
,8), %rsi
1263 leaq
-1(%rbx
,%rdx
), %rbx
1273 movsbl
2(%rbp
), %ecx
1274 leal
-48(%rcx
), %eax
1285 movabsq $
2305843009213693951, %rax
1290 leaq
3(,%rax
,4), %r11
1297 movabsq $
-3689348814741910323, %rdx
1301 leaq
(%rdx
,%rdx
,4), %rax
1314 movsbl
2(%rbp
), %ecx
1316 leal
-48(%rcx
), %eax
1321 movabsq $
9223372036854775447, %rax
1324 leaq
360(%r15), %r11
1327 movabsq $
-3689348814741910323, %rdx
1331 leaq
(%rdx
,%rdx
,4), %rax
1336 movq
128(%rsp
), %rax
1347 leaq
(%rax
,%rax
,4), %rax
1350 leaq
(%rcx
,%rax
,2), %rax
1352 leal
-48(%rcx
), %r11d
1364 movl
16(%rsp
), %r12d
1365 movq __libc_errno@gottpoff
(%rip
), %rax
1367 movl $
34, %fs:(%rax
)
1372 movsd
.LC3(%rip), %xmm0
1373 mulsd
.LC2(%rip), %xmm0
1422 leaq _nl_C_locobj
(%rip
), %rcx
1423 leaq
.LC14(%rip), %rsi
1427 call __strncasecmp_l
1434 leaq _nl_C_locobj
(%rip
), %rcx
1435 leaq
.LC15(%rip), %rsi
1440 call __strncasecmp_l
1448 movsd
.LC11(%rip), %xmm0
1451 movsd
.LC12(%rip), %xmm0
1456 leaq _nl_C_locobj
(%rip
), %rcx
1457 leaq
.LC16(%rip), %rsi
1461 call __strncasecmp_l
1465 movsd
.LC8(%rip), %xmm0
1475 movl
24(%rsp
), %r15d
1478 xorpd
.LC17(%rip), %xmm0
1494 leaq
1(%rax
,%rax
,2), %r12
1520 movzbl
0(%rbp
), %eax
1524 movzwl
(%rsi
,%r11,2), %r11d
1532 movzbl
2(%r11), %edx
1536 movsbq
3(%r11), %r12
1544 testb $
16, 1(%r9,%rax
,2)
1552 testb $
16, 1(%r9,%rax
,2)
1570 leaq nbits.11960
(%rip
), %rdx
1572 movl
(%rdx
,%r10,4), %edx
1575 movq
128(%rsp
), %rsi
1583 movq
%r10, 136(%rsp
)
1585 movabsq $
9223372036854775807, %rcx
1597 leaq
-4(%rdx
,%r15,4), %rdx
1600 movq
%rsi
, 128(%rsp
)
1619 testb $
16, 1(%r9,%rdx
,2)
1631 movl
(%rdx
,%rcx
,4), %edx
1648 movq
%r10, 136(%rsp
)
1669 leaq
136(%rsp
), %rdi
1671 call round_and_return
1685 cmpb
%dil
, -1(%rbp
,%rdx
)
1688 movzbl
(%r10,%rdx
), %edi
1696 movl
16(%rsp
), %r11d
1701 movq
%rax
, 128(%rsp
)
1710 movsd
.LC1(%rip), %xmm0
1711 mulsd
.LC0(%rip), %xmm0
1715 movl
(%rcx
,%rdx
,4), %r10d
1721 movabsq $
9223372036854775498, %rax
1724 leaq
309(%rsi
), %r11
1727 movl
(%rsi
,%rdx
,4), %edx
1738 call __correctly_grouped_prefixmb
1751 movabsq $
-9223372036854775808, %rcx
1756 movabsq $
2305843009213693683, %rax
1759 leaq
1074(,%r15,4), %r11
1776 movq
104(%rsp
), %rcx
1779 call str_to_mpn.isra.0
1781 bsrq
640(%rsp
,%rax
,8), %rbx
1789 movq
120(%rsp
), %rdx
1793 movq
%rax
, 128(%rsp
)
1798 movq
624(%rsp
), %rdi
1799 movq
632(%rsp
), %rsi
1800 movq
144(%rsp
), %r13
1809 leaq
136(%rsp
), %rdi
1816 movq
144(%rsp
), %r13
1819 movq
128(%rsp
), %rax
1834 call round_and_return
1842 movl
24(%rsp
), %r13d
1846 movsd
.LC10(%rip), %xmm0
1861 movq
120(%rsp
), %rdx
1867 movq
120(%rsp
), %rcx
1869 movq
%rax
, 144(%rsp
,%rcx
,8)
1870 movq
%rdx
, 120(%rsp
)
1873 movq
%rbx
, 136(%rsp
)
1876 leaq
136(%rsp
), %rdi
1880 call round_and_return
1883 leaq
120(%rsp
), %rcx
1884 leaq
144(%rsp
), %rdx
1895 call str_to_mpn.isra.0
1896 movq
144(%rsp
), %rdx
1901 movq
120(%rsp
), %rbp
1904 leaq
624(%rsp
), %rax
1906 leaq _fpioconst_pow10
(%rip
), %r12
1922 movq
%rax
, 128(%rsp
)
1925 leaq __tens
(%rip
), %rsi
1927 leaq
8(%rsi
,%rax
,8), %rsi
1939 movq
120(%rsp
), %rdi
1940 movq
128(%rsp
), %rdx
1943 movq
%rdi
, 120(%rsp
)
1946 movq
%rdi
, 120(%rsp
)
1977 leaq
0(,%rdi
,8), %rdx
1987 bsrq
144(%rsp
,%rdx
,8), %rax
1995 leal
-53(%r12), %ecx
2000 movq
144(%rsp
,%rsi
,8), %r10
2003 movq
%r10, 136(%rsp
)
2005 movq
144(%rsp
,%rsi
,8), %r10
2016 cmpq $
0, -8(%rcx
,%rax
,8)
2028 leaq
136(%rsp
), %rdi
2031 call round_and_return
2036 movabsq $
2305843009213693951, %rax
2039 movq
128(%rsp
), %rax
2040 movabsq $
-9223372036854775808, %rdx
2045 leaq
0(,%rsi
,4), %rcx
2062 movq
624(%rsp
,%rax
,8), %r14
2065 movq
624(%rsp
,%rax
,8), %r15
2068 leaq
(%rdi
,%rax
,8), %rsi
2073 movq
120(%rsp
), %rdx
2075 movq $
0, 144(%rsp
,%rdx
,8)
2076 movq
%rax
, 120(%rsp
)
2089 leaq
136(%rsp
), %rdi
2096 movq
120(%rsp
), %rax
2110 leaq
0(,%rdx
,8), %rsi
2120 movq
%rdx
, (%rax
,%rcx
,8)
2128 leaq
(%rax
,%rbx
,8), %rcx
2138 movq $
0, 624(%rsp
,%r12,8)
2139 movq
144(%rsp
,%r12,8), %rbx
2144 movl
%ebp
, 104(%rsp
)
2150 leaq
0(,%rcx
,8), %rdx
2155 leaq
(%rdi
,%rdx
), %r8
2172 movq
144(%rsp
,%rax
,8), %rax
2175 # 1727 "strtod_l.c" 1
2183 # 1728 "strtod_l.c" 1
2201 cmpq
%rax
, 144(%rsp
,%rsi
,8)
2215 cmpq
%rax
, 144(%rsp
,%rbp
,8)
2230 movq
144(%rsp
,%rax
,8), %rbx
2233 movq
%rbx
, 144(%rsp
,%rbp
,8)
2239 movq
%rdx
, (%rax
,%r9,8)
2249 movq
128(%rsp
), %rsi
2258 movq
%rsi
, 128(%rsp
)
2267 movq
%rax
, 136(%rsp
)
2273 cmpq $
0, 144(%rsp
,%rax
,8)
2286 cmpq $
0, 8(%rdi
,%rax
,8)
2304 call round_and_return
2313 movq
%r13, 136(%rsp
)
2319 movq
128(%rsp
), %rsi
2320 movl
104(%rsp
), %ebp
2327 movq
%rsi
, 128(%rsp
)
2336 movl
%edx
, 104(%rsp
)
2345 subl
104(%rsp
), %ecx
2352 movq
144(%rsp
), %rbx
2353 movq
624(%rsp
), %rsi
2365 # 1501 "strtod_l.c" 1
2373 leaq
136(%rsp
), %rax
2379 movq
128(%rsp
), %rdx
2392 call round_and_return
2398 # 1501 "strtod_l.c" 1
2422 movq
%rax
, 136(%rsp
)
2423 leaq
136(%rsp
), %rax
2427 movsd
.LC2(%rip), %xmm0
2431 movsd
.LC0(%rip), %xmm0
2455 call __correctly_grouped_prefixmb
2471 leal
-48(%rsi
), %edx
2483 movabsq $
2305843009213693695, %rax
2486 leaq
1027(,%rsi
,4), %r11
2490 movq __libc_errno@gottpoff
(%rip
), %rax
2492 movl $
34, %fs:(%rax
)
2494 movsd
.LC3(%rip), %xmm0
2495 mulsd
.LC2(%rip), %xmm0
2502 leaq
136(%rsp
), %rdi
2509 leaq
(%rdi
,%r13,8), %rdi
2510 leal
(%r12,%rdx
), %eax
2520 subq
120(%rsp
), %rbx
2532 call round_and_return
2540 leaq
0(,%r12,8), %rdx
2546 movq
152(%rsp
), %rbx
2561 # 1607 "strtod_l.c" 1
2569 movq
128(%rsp
), %rax
2571 movabsq $
9007199254740991, %rdx
2574 leaq
136(%rsp
), %rdi
2575 movq
%rdx
, 136(%rsp
)
2584 # 1615 "strtod_l.c" 1
2592 # 1616 "strtod_l.c" 1
2607 # 1625 "strtod_l.c" 1
2618 # 1630 "strtod_l.c" 1
2626 movq
128(%rsp
), %rax
2630 movq
%rax
, 128(%rsp
)
2637 leaq
136(%rsp
), %rax
2642 movq
128(%rsp
), %rax
2679 movq
%rax
, 128(%rsp
)
2696 leaq
136(%rsp
), %rdi
2716 movq $
0, 624(%rsp
,%r12,8)
2717 movq
144(%rsp
,%r12,8), %rbx
2721 movq __libc_errno@gottpoff
(%rip
), %rax
2723 movl $
34, %fs:(%rax
)
2725 movsd
.LC1(%rip), %xmm0
2726 mulsd
.LC0(%rip), %xmm0
2734 movq
120(%rsp
), %rax
2737 leaq
624(%rsp
), %rsi
2741 movq
624(%rsp
), %rax
2748 leaq
136(%rsp
), %rdi
2749 leaq
0(,%rbp
,8), %rdx
2754 movq
128(%rsp
), %rax
2755 leaq
324(%rax
), %rdx
2763 movslq
8(%rsp
), %rdi
2776 movq
%rdi
, 136(%rsp
)
2779 movsd
.LC2(%rip), %xmm0
2791 movzbl
0(%r13), %eax
2794 movsd
.LC0(%rip), %xmm0
2808 leaq
136(%rsp
), %rdi
2809 subq
%rdx
, 128(%rsp
)
2818 movq
144(%rsp
,%rax
,8), %rax
2822 movq
%rdi
, 136(%rsp
)
2829 leaq
0(,%rbp
,8), %rdx
2838 movq
128(%rsp
), %rsi
2846 movq
%rax
, 128(%rsp
)
2849 leaq
136(%rsp
), %rax
2853 leaq __PRETTY_FUNCTION__.11872
(%rip
), %rcx
2854 leaq
.LC5(%rip), %rsi
2855 leaq
.LC32(%rip), %rdi
2859 leaq __PRETTY_FUNCTION__.11872
(%rip
), %rcx
2860 leaq
.LC5(%rip), %rsi
2861 leaq
.LC13(%rip), %rdi
2865 leaq __PRETTY_FUNCTION__.11872
(%rip
), %rcx
2866 leaq
.LC5(%rip), %rsi
2867 leaq
.LC18(%rip), %rdi
2871 leaq __PRETTY_FUNCTION__.11872
(%rip
), %rcx
2872 leaq
.LC5(%rip), %rsi
2873 leaq
.LC23(%rip), %rdi
2877 leaq __PRETTY_FUNCTION__.11872
(%rip
), %rcx
2878 leaq
.LC5(%rip), %rsi
2879 leaq
.LC35(%rip), %rdi
2884 movq
%r12, 136(%rsp
)
2892 leaq __PRETTY_FUNCTION__.11872
(%rip
), %rcx
2893 leaq
.LC5(%rip), %rsi
2894 leaq
.LC31(%rip), %rdi
2899 movq
%r13, 136(%rsp
)
2908 leaq __PRETTY_FUNCTION__.11872
(%rip
), %rcx
2909 leaq
.LC5(%rip), %rsi
2910 leaq
.LC19(%rip), %rdi
2914 leaq __PRETTY_FUNCTION__.11872
(%rip
), %rcx
2915 leaq
.LC5(%rip), %rsi
2916 leaq
.LC30(%rip), %rdi
2920 leaq __PRETTY_FUNCTION__.11872
(%rip
), %rcx
2921 leaq
.LC5(%rip), %rsi
2922 leaq
.LC20(%rip), %rdi
2926 movq
%rax
, 128(%rsp
)
2929 leaq __PRETTY_FUNCTION__.11872
(%rip
), %rcx
2930 leaq
.LC5(%rip), %rsi
2931 leaq
.LC36(%rip), %rdi
2936 movq
%rax
, 136(%rsp
)
2939 leaq __PRETTY_FUNCTION__.11872
(%rip
), %rcx
2940 leaq
.LC5(%rip), %rsi
2941 leaq
.LC28(%rip), %rdi
2945 leaq __PRETTY_FUNCTION__.11872
(%rip
), %rcx
2946 leaq
.LC5(%rip), %rsi
2947 leaq
.LC29(%rip), %rdi
2951 leaq __PRETTY_FUNCTION__.11872
(%rip
), %rcx
2952 leaq
.LC5(%rip), %rsi
2953 leaq
.LC34(%rip), %rdi
2957 leaq __PRETTY_FUNCTION__.11872
(%rip
), %rcx
2958 leaq
.LC5(%rip), %rsi
2959 leaq
.LC22(%rip), %rdi
2963 leaq __PRETTY_FUNCTION__.11872
(%rip
), %rcx
2964 leaq
.LC5(%rip), %rsi
2965 leaq
.LC25(%rip), %rdi
2969 leaq __PRETTY_FUNCTION__.11872
(%rip
), %rcx
2970 leaq
.LC5(%rip), %rsi
2971 leaq
.LC33(%rip), %rdi
2975 leaq __PRETTY_FUNCTION__.11872
(%rip
), %rcx
2976 leaq
.LC5(%rip), %rsi
2977 leaq
.LC24(%rip), %rdi
2981 leaq __PRETTY_FUNCTION__.11872
(%rip
), %rcx
2982 leaq
.LC5(%rip), %rsi
2983 leaq
.LC21(%rip), %rdi
2987 leaq __PRETTY_FUNCTION__.11872
(%rip
), %rcx
2988 leaq
.LC5(%rip), %rsi
2989 leaq
.LC27(%rip), %rdi
2993 leaq __PRETTY_FUNCTION__.11872
(%rip
), %rcx
2994 leaq
.LC5(%rip), %rsi
2995 leaq
.LC26(%rip), %rdi
2998 .size ____strtod_l_internal, .-____strtod_l_internal
3002 .type __strtod_l, @function
3006 jmp ____strtod_l_internal
3007 .size __strtod_l, .-__strtod_l
3009 .set strtod_l,__strtod_l
3011 .set strtof32x_l,strtod_l
3013 .set strtof64_l,strtod_l
3014 .section .rodata.str1.8
3016 .type __PRETTY_FUNCTION__.11822, @object
3017 .size __PRETTY_FUNCTION__.11822, 11
3018 __PRETTY_FUNCTION__.11822
:
3019 .string "str_to_mpn"
3022 .type nbits.11960, @object
3023 .size nbits.11960, 64
3041 .section .rodata.str1.16,"aMS",@progbits,1
3043 .type __PRETTY_FUNCTION__.11872, @object
3044 .size __PRETTY_FUNCTION__.11872, 22
3045 __PRETTY_FUNCTION__.11872
:
3046 .string "____strtod_l_internal"
3047 .section .rodata.cst8,"aM",@progbits,8
3084 .section .rodata.cst16,"aM",@progbits,16
3091 .hidden __strtod_nan
3093 .hidden __mpn_submul_1
3095 .hidden __mpn_lshift
3096 .hidden __correctly_grouped_prefixmb
3097 .hidden __strncasecmp_l
3100 .hidden _fpioconst_pow10
3101 .hidden _nl_C_locobj
3103 .hidden __assert_fail
3105 .hidden __mpn_construct_double
3106 .hidden __mpn_rshift