clarify the purpose of this project
[nyanglibc.git] / libio / iofwide.shared.s
blob25a89831c58a926969a0aaee92215082e8aeaf59
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 .section .rodata.str1.1,"aMS",@progbits,1
7 .LC0:
8 .string "iofwide.c"
9 .LC1:
10 .string "fcts.towc_nsteps == 1"
11 .LC2:
12 .string "fcts.tomb_nsteps == 1"
13 #NO_APP
14 .text
15 .p2align 4,,15
16 .globl _IO_fwide
17 .type _IO_fwide, @function
18 _IO_fwide:
19 pushq %rbp
20 pushq %rbx
21 movq %rdi, %rbx
22 subq $40, %rsp
23 testl %esi, %esi
24 movl 192(%rdi), %eax
25 js .L15
26 testl %eax, %eax
27 jne .L1
28 testl %esi, %esi
29 jne .L16
30 .L1:
31 addq $40, %rsp
32 popq %rbx
33 popq %rbp
34 ret
35 .p2align 4,,10
36 .p2align 3
37 .L15:
38 testl %eax, %eax
39 jne .L1
40 movl $-1, %eax
41 .L4:
42 movl %eax, 192(%rbx)
43 addq $40, %rsp
44 popq %rbx
45 popq %rbp
46 ret
47 .p2align 4,,10
48 .p2align 3
49 .L16:
50 movq 160(%rdi), %rbp
51 leaq 104(%rbp), %rax
52 movq %rax, 152(%rdi)
53 movq 8(%rbp), %rax
54 movq $0, 88(%rbp)
55 movq %rax, 0(%rbp)
56 movq 24(%rbp), %rax
57 movq %rax, 32(%rbp)
58 movq 160(%rdi), %rax
59 movq %rsp, %rdi
60 movq $0, 96(%rax)
61 call __wcsmbs_clone_conv
62 cmpq $1, 8(%rsp)
63 jne .L17
64 cmpq $1, 24(%rsp)
65 jne .L18
66 movq (%rsp), %rax
67 movq 16(%rsp), %rcx
68 movq $1, 128(%rbp)
69 movl $1, 136(%rbp)
70 movq %rax, 104(%rbp)
71 movq 160(%rbx), %rax
72 movq %rcx, 160(%rbp)
73 movq $9, 184(%rbp)
74 movl $1, 192(%rbp)
75 leaq 88(%rax), %rdx
76 movq 224(%rax), %rax
77 movq %rdx, 144(%rbp)
78 movq %rdx, 200(%rbp)
79 movq %rax, 216(%rbx)
80 movl $1, %eax
81 jmp .L4
82 .L17:
83 leaq __PRETTY_FUNCTION__.12927(%rip), %rcx
84 leaq .LC0(%rip), %rsi
85 leaq .LC1(%rip), %rdi
86 movl $80, %edx
87 call __GI___assert_fail
88 .L18:
89 leaq __PRETTY_FUNCTION__.12927(%rip), %rcx
90 leaq .LC0(%rip), %rsi
91 leaq .LC2(%rip), %rdi
92 movl $81, %edx
93 call __GI___assert_fail
94 .size _IO_fwide, .-_IO_fwide
95 .p2align 4,,15
96 .globl __libio_codecvt_out
97 .hidden __libio_codecvt_out
98 .type __libio_codecvt_out, @function
99 __libio_codecvt_out:
100 pushq %r14
101 pushq %r13
102 movq %rcx, %r14
103 pushq %r12
104 pushq %rbp
105 movq %r8, %r13
106 pushq %rbx
107 movq %rdi, %rbp
108 subq $16, %rsp
109 movq 56(%rdi), %r12
110 movq %r9, 64(%rdi)
111 movq 64(%rsp), %rax
112 movq %rdx, 8(%rsp)
113 movq %rsi, 96(%rdi)
114 cmpq $0, (%r12)
115 movq 40(%r12), %rbx
116 movq %rax, 72(%rdi)
117 je .L20
118 #APP
119 # 129 "iofwide.c" 1
120 ror $2*8+1, %rbx
121 xor %fs:48, %rbx
122 # 0 "" 2
123 #NO_APP
124 .L20:
125 movq %rbx, %rdi
126 call __GI__dl_mcount_wrapper_check
127 leaq 8(%rsp), %rdx
128 pushq $0
129 pushq $0
130 xorl %r8d, %r8d
131 movq %r14, %rcx
132 leaq 64(%rbp), %rsi
133 leaq 16(%rsp), %r9
134 movq %r12, %rdi
135 call *%rbx
136 movq 24(%rsp), %rdx
137 movq 64(%rbp), %rcx
138 cmpl $4, %eax
139 movq %rdx, 0(%r13)
140 movq 88(%rsp), %rdx
141 movq %rcx, (%rdx)
142 popq %rdx
143 popq %rcx
144 je .L25
145 jle .L39
146 cmpl $5, %eax
147 je .L24
148 cmpl $7, %eax
149 je .L24
150 .L21:
151 addq $16, %rsp
152 movl $2, %eax
153 popq %rbx
154 popq %rbp
155 popq %r12
156 popq %r13
157 popq %r14
159 .p2align 4,,10
160 .p2align 3
161 .L24:
162 addq $16, %rsp
163 movl $1, %eax
164 popq %rbx
165 popq %rbp
166 popq %r12
167 popq %r13
168 popq %r14
170 .p2align 4,,10
171 .p2align 3
172 .L39:
173 testl %eax, %eax
174 jne .L21
175 .L25:
176 addq $16, %rsp
177 xorl %eax, %eax
178 popq %rbx
179 popq %rbp
180 popq %r12
181 popq %r13
182 popq %r14
184 .size __libio_codecvt_out, .-__libio_codecvt_out
185 .p2align 4,,15
186 .globl __libio_codecvt_in
187 .hidden __libio_codecvt_in
188 .type __libio_codecvt_in, @function
189 __libio_codecvt_in:
190 pushq %r14
191 pushq %r13
192 movq %rcx, %r14
193 pushq %r12
194 pushq %rbp
195 movq %r8, %r13
196 pushq %rbx
197 movq %rdi, %rbp
198 subq $16, %rsp
199 movq (%rdi), %r12
200 movq %r9, 8(%rdi)
201 movq 64(%rsp), %rax
202 movq %rdx, 8(%rsp)
203 movq %rsi, 40(%rdi)
204 cmpq $0, (%r12)
205 movq 40(%r12), %rbx
206 movq %rax, 16(%rdi)
207 je .L41
208 #APP
209 # 181 "iofwide.c" 1
210 ror $2*8+1, %rbx
211 xor %fs:48, %rbx
212 # 0 "" 2
213 #NO_APP
214 .L41:
215 movq %rbx, %rdi
216 call __GI__dl_mcount_wrapper_check
217 leaq 8(%rsp), %rdx
218 pushq $0
219 pushq $0
220 xorl %r8d, %r8d
221 movq %r14, %rcx
222 leaq 8(%rbp), %rsi
223 leaq 16(%rsp), %r9
224 movq %r12, %rdi
225 call *%rbx
226 movq 24(%rsp), %rdx
227 movq 8(%rbp), %rcx
228 cmpl $4, %eax
229 movq %rdx, 0(%r13)
230 movq 88(%rsp), %rdx
231 movq %rcx, (%rdx)
232 popq %rdx
233 popq %rcx
234 je .L46
235 jle .L60
236 cmpl $5, %eax
237 je .L45
238 cmpl $7, %eax
239 je .L45
240 .L42:
241 addq $16, %rsp
242 movl $2, %eax
243 popq %rbx
244 popq %rbp
245 popq %r12
246 popq %r13
247 popq %r14
249 .p2align 4,,10
250 .p2align 3
251 .L45:
252 addq $16, %rsp
253 movl $1, %eax
254 popq %rbx
255 popq %rbp
256 popq %r12
257 popq %r13
258 popq %r14
260 .p2align 4,,10
261 .p2align 3
262 .L60:
263 testl %eax, %eax
264 jne .L42
265 .L46:
266 addq $16, %rsp
267 xorl %eax, %eax
268 popq %rbx
269 popq %rbp
270 popq %r12
271 popq %r13
272 popq %r14
274 .size __libio_codecvt_in, .-__libio_codecvt_in
275 .p2align 4,,15
276 .globl __libio_codecvt_encoding
277 .hidden __libio_codecvt_encoding
278 .type __libio_codecvt_encoding, @function
279 __libio_codecvt_encoding:
280 movq (%rdi), %rdx
281 movl 88(%rdx), %eax
282 testl %eax, %eax
283 jne .L63
284 movl 72(%rdx), %ecx
285 cmpl 76(%rdx), %ecx
286 cmove %ecx, %eax
288 .p2align 4,,10
289 .p2align 3
290 .L63:
291 movl $-1, %eax
293 .size __libio_codecvt_encoding, .-__libio_codecvt_encoding
294 .p2align 4,,15
295 .globl __libio_codecvt_length
296 .hidden __libio_codecvt_length
297 .type __libio_codecvt_length, @function
298 __libio_codecvt_length:
299 pushq %rbp
300 salq $2, %r8
301 movq %rsp, %rbp
302 pushq %r15
303 pushq %r14
304 pushq %r13
305 pushq %r12
306 movq %rdx, %r14
307 pushq %rbx
308 movq %rcx, %r13
309 movq %rdi, %rbx
310 subq $24, %rsp
311 movq %rdx, -64(%rbp)
312 leaq 18(%r8), %rdx
313 movq (%rdi), %r15
314 movq %rsi, 40(%rdi)
315 andq $-16, %rdx
316 subq %rdx, %rsp
317 movq %rsp, %rax
318 movq 40(%r15), %r12
319 movq %rax, 8(%rdi)
320 addq %r8, %rax
321 cmpq $0, (%r15)
322 movq %rax, 16(%rdi)
323 je .L65
324 #APP
325 # 248 "iofwide.c" 1
326 ror $2*8+1, %r12
327 xor %fs:48, %r12
328 # 0 "" 2
329 #NO_APP
330 .L65:
331 movq %r12, %rdi
332 call __GI__dl_mcount_wrapper_check
333 pushq $0
334 leaq -64(%rbp), %rdx
335 leaq 8(%rbx), %rsi
336 pushq $0
337 leaq -56(%rbp), %r9
338 movq %r13, %rcx
339 movq %r15, %rdi
340 xorl %r8d, %r8d
341 call *%r12
342 movq -64(%rbp), %rax
343 leaq -40(%rbp), %rsp
344 popq %rbx
345 subq %r14, %rax
346 popq %r12
347 popq %r13
348 popq %r14
349 popq %r15
350 popq %rbp
352 .size __libio_codecvt_length, .-__libio_codecvt_length
353 .section .rodata.str1.8,"aMS",@progbits,1
354 .align 8
355 .type __PRETTY_FUNCTION__.12927, @object
356 .size __PRETTY_FUNCTION__.12927, 10
357 __PRETTY_FUNCTION__.12927:
358 .string "_IO_fwide"
359 .hidden __wcsmbs_clone_conv