clarify the purpose of this project
[nyanglibc.git] / stdlib / strtold_nan.shared.s
blob949c93f0eeff1dbb8f80c59325c7c383568d7f7d
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___strtold_nan
9 .hidden __GI___strtold_nan
10 .type __GI___strtold_nan, @function
11 __GI___strtold_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 .L9:
37 flds .LC0(%rip)
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 8(%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, 8(%rsp)
54 jne .L9
55 flds .LC0(%rip)
56 movq %rax, %rdx
57 shrq $32, %rdx
58 fstpt 16(%rsp)
59 movl %edx, %ecx
60 movl %eax, 16(%rsp)
61 andl $1073741823, %ecx
62 movl 20(%rsp), %edx
63 andl $-1073741824, %edx
64 orl %ecx, %edx
65 movl %edx, 20(%rsp)
66 orl %eax, %edx
67 je .L9
68 fldt 16(%rsp)
69 jmp .L5
70 .size __GI___strtold_nan, .-__GI___strtold_nan
71 .globl __strtold_nan
72 .set __strtold_nan,__GI___strtold_nan
73 .section .rodata.cst4,"aM",@progbits,4
74 .align 4
75 .LC0:
76 .long 2143289344
77 .hidden _nl_C_locobj