clarify the purpose of this project
[nyanglibc.git] / misc / qefgcvt.shared.s
blob8803334ef6d5e25ad79fda56b78ed956ed31bf69
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 .section __libc_freeres_ptrs, "aw", %nobits
7 .previous
8 #NO_APP
9 .p2align 4,,15
10 .globl __qfcvt
11 .type __qfcvt, @function
12 __qfcvt:
13 movq qfcvt_bufptr(%rip), %rcx
14 pushq %r12
15 movq %rdx, %r12
16 pushq %rbp
17 movq %rsi, %rbp
18 pushq %rbx
19 movl %edi, %ebx
20 testq %rcx, %rcx
21 je .L11
22 .L2:
23 pushq 40(%rsp)
24 pushq 40(%rsp)
25 movq %r12, %rdx
26 movq %rbp, %rsi
27 movl %ebx, %edi
28 movl $4965, %r8d
29 call __GI___qfcvt_r
30 popq %rdx
31 movq qfcvt_bufptr(%rip), %rax
32 popq %rcx
33 popq %rbx
34 popq %rbp
35 popq %r12
36 ret
37 .p2align 4,,10
38 .p2align 3
39 .L11:
40 pushq 40(%rsp)
41 leaq qfcvt_buffer(%rip), %rcx
42 pushq 40(%rsp)
43 movl $33, %r8d
44 call __GI___qfcvt_r
45 cmpl $-1, %eax
46 popq %rsi
47 popq %rdi
48 je .L3
49 .L5:
50 popq %rbx
51 leaq qfcvt_buffer(%rip), %rax
52 popq %rbp
53 popq %r12
54 ret
55 .p2align 4,,10
56 .p2align 3
57 .L3:
58 movl $4965, %edi
59 call malloc@PLT
60 testq %rax, %rax
61 movq %rax, %rcx
62 movq %rax, qfcvt_bufptr(%rip)
63 jne .L2
64 jmp .L5
65 .size __qfcvt, .-__qfcvt
66 .globl qfcvt
67 .set qfcvt,__qfcvt
68 .p2align 4,,15
69 .globl __qecvt
70 .type __qecvt, @function
71 __qecvt:
72 subq $8, %rsp
73 leaq qecvt_buffer(%rip), %rcx
74 movl $33, %r8d
75 pushq 24(%rsp)
76 pushq 24(%rsp)
77 call __GI___qecvt_r
78 leaq qecvt_buffer(%rip), %rax
79 addq $24, %rsp
80 ret
81 .size __qecvt, .-__qecvt
82 .globl qecvt
83 .set qecvt,__qecvt
84 .section .rodata.str1.1,"aMS",@progbits,1
85 .LC0:
86 .string "%.*Lg"
87 .text
88 .p2align 4,,15
89 .globl __qgcvt
90 .type __qgcvt, @function
91 __qgcvt:
92 pushq %rbx
93 cmpl $21, %edi
94 pushq 24(%rsp)
95 movq %rsi, %rbx
96 pushq 24(%rsp)
97 movl $21, %edx
98 leaq .LC0(%rip), %rsi
99 cmovle %edi, %edx
100 movq %rbx, %rdi
101 xorl %eax, %eax
102 call __GI_sprintf
103 popq %rax
104 movq %rbx, %rax
105 popq %rdx
106 popq %rbx
108 .size __qgcvt, .-__qgcvt
109 .globl qgcvt
110 .set qgcvt,__qgcvt
111 .section __libc_freeres_ptrs
112 #,"aw",@progbits
113 .align 8
114 .type qfcvt_bufptr, @object
115 .size qfcvt_bufptr, 8
116 qfcvt_bufptr:
117 .zero 8
118 .local qecvt_buffer
119 .comm qecvt_buffer,33,32
120 .local qfcvt_buffer
121 .comm qfcvt_buffer,33,32