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