clarify the purpose of this project
[nyanglibc.git] / stdlib / strtod_nan.shared.s
blob6bffbbe5e1af9572982d80cb89eacc5c23805326
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 #NO_APP
7 .p2align 4,,15
8 .globl __GI___strtod_nan
9 .hidden __GI___strtod_nan
10 .type __GI___strtod_nan, @function
11 __GI___strtod_nan:
12 pushq %rbp
13 pushq %rbx
14 movq %rsi, %rbp
15 movq %rdi, %rbx
16 subq $40, %rsp
17 jmp .L2
18 .p2align 4,,10
19 .p2align 3
20 .L3:
21 addq $1, %rbx
22 .L2:
23 movzbl (%rbx), %ecx
24 movl %ecx, %eax
25 andl $-33, %eax
26 subl $65, %eax
27 cmpb $25, %al
28 jbe .L3
29 leal -48(%rcx), %eax
30 cmpb $9, %al
31 jbe .L3
32 cmpb $95, %cl
33 je .L3
34 cmpb %dl, %cl
35 je .L4
36 .L6:
37 movsd .LC0(%rip), %xmm0
38 .L5:
39 testq %rbp, %rbp
40 je .L1
41 movq %rbx, 0(%rbp)
42 .L1:
43 addq $40, %rsp
44 popq %rbx
45 popq %rbp
46 ret
47 .L4:
48 leaq 24(%rsp), %rsi
49 leaq _nl_C_locobj(%rip), %r8
50 xorl %ecx, %ecx
51 xorl %edx, %edx
52 call __GI_____strtoull_l_internal
53 cmpq %rbx, 24(%rsp)
54 jne .L6
55 movabsq $2251795518717952, %rdx
56 movl %eax, %esi
57 andq %rax, %rdx
58 movsd .LC0(%rip), %xmm0
59 movq %rdx, %rcx
60 movabsq $9221120237041090560, %rdx
61 orq %rcx, %rdx
62 orq %rsi, %rdx
63 movq %rdx, %rcx
64 shrq $32, %rcx
65 andl $1048575, %ecx
66 orl %eax, %ecx
67 je .L5
68 movq %rdx, 8(%rsp)
69 movsd 8(%rsp), %xmm0
70 jmp .L5
71 .size __GI___strtod_nan, .-__GI___strtod_nan
72 .globl __strtod_nan
73 .set __strtod_nan,__GI___strtod_nan
74 .section .rodata.cst8,"aM",@progbits,8
75 .align 8
76 .LC0:
77 .long 0
78 .long 2146959360
79 .hidden _nl_C_locobj