clarify the purpose of this project
[nyanglibc.git] / intl / l10nflist.shared.s
blobbedf39e56f8c054192e3d41a8d7dfe6455577506
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 _nl_make_l10nflist
9 .type _nl_make_l10nflist, @function
10 _nl_make_l10nflist:
11 pushq %r15
12 pushq %r14
13 movl %ecx, %r15d
14 pushq %r13
15 pushq %r12
16 movq %rdx, %r12
17 pushq %rbp
18 pushq %rbx
19 leaq 2(%r12), %r13
20 subq $72, %rsp
21 movq %rdi, 24(%rsp)
22 movq %r8, %rdi
23 movq %rsi, 16(%rsp)
24 movl %ecx, 56(%rsp)
25 movq %r8, 8(%rsp)
26 movq %r9, 32(%rsp)
27 call __GI_strlen
28 andl $4, %r15d
29 movq %rax, %rbx
30 movl %r15d, %r14d
31 je .L97
32 movq 32(%rsp), %rdi
33 call __GI_strlen
34 leaq 1(%rax), %rbp
35 .L2:
36 movl 56(%rsp), %eax
37 addq %r13, %rbx
38 xorl %r13d, %r13d
39 andl $2, %eax
40 movl %eax, 40(%rsp)
41 je .L3
42 movq 128(%rsp), %rdi
43 call __GI_strlen
44 leaq 1(%rax), %r13
45 .L3:
46 movl 56(%rsp), %eax
47 addq %rbp, %rbx
48 xorl %ebp, %ebp
49 andl $1, %eax
50 movl %eax, 48(%rsp)
51 je .L4
52 movq 136(%rsp), %rdi
53 call __GI_strlen
54 leaq 1(%rax), %rbp
55 .L4:
56 movl 56(%rsp), %eax
57 addq %r13, %rbx
58 xorl %r13d, %r13d
59 andl $8, %eax
60 movl %eax, 60(%rsp)
61 je .L5
62 movq 144(%rsp), %rdi
63 call __GI_strlen
64 leaq 1(%rax), %r13
65 .L5:
66 movq 152(%rsp), %rdi
67 call __GI_strlen
68 leaq (%rbx,%rbp), %rdi
69 movq %rax, %r15
70 addq %r13, %rdi
71 addq %rax, %rdi
72 call malloc@PLT
73 testq %rax, %rax
74 movq %rax, %rbp
75 je .L40
76 movq 16(%rsp), %rsi
77 movq %r12, %rdx
78 movq %rax, %rdi
79 call __GI_memcpy@PLT
80 testq %r12, %r12
81 je .L7
82 movq %r12, %rbx
83 movq %rbp, %r13
84 .L8:
85 movq %r13, %rdi
86 call __GI_strlen
87 movq %rax, %rdx
88 notq %rdx
89 addq %rdx, %rbx
90 je .L7
91 addq %r13, %rax
92 leaq 1(%rax), %r13
93 movb $58, (%rax)
94 jmp .L8
95 .p2align 4,,10
96 .p2align 3
97 .L7:
98 movq 8(%rsp), %rsi
99 leaq 0(%rbp,%r12), %rdi
100 movb $47, -1(%rbp,%r12)
101 call __GI_stpcpy@PLT
102 testl %r14d, %r14d
103 jne .L100
104 .L9:
105 movl 40(%rsp), %esi
106 leaq 1(%rax), %rdi
107 testl %esi, %esi
108 jne .L101
109 .L10:
110 movl 48(%rsp), %ecx
111 testl %ecx, %ecx
112 jne .L102
113 .L11:
114 movl 60(%rsp), %edx
115 testl %edx, %edx
116 jne .L103
117 .L12:
118 movq 152(%rsp), %rsi
119 leaq 1(%r15), %rdx
120 movb $47, (%rax)
121 call __GI_memcpy@PLT
122 movq 24(%rsp), %rax
123 movq (%rax), %rax
124 testq %rax, %rax
125 movq %rax, 48(%rsp)
126 je .L41
127 movq %rax, %r13
128 xorl %r14d, %r14d
129 .p2align 4,,10
130 .p2align 3
131 .L16:
132 movq 0(%r13), %rdi
133 testq %rdi, %rdi
134 je .L14
135 movq %rbp, %rsi
136 call __GI_strcmp
137 testl %eax, %eax
138 je .L15
139 js .L13
140 movq %r13, %r14
141 .L14:
142 movq 24(%r13), %r13
143 testq %r13, %r13
144 jne .L16
145 .L13:
146 movl 160(%rsp), %eax
147 testl %eax, %eax
148 je .L42
149 movl 56(%rsp), %ecx
150 movl $1, %r13d
151 movl %ecx, %eax
152 andl $21845, %ecx
153 sarl %eax
154 andl $-10923, %eax
155 addl %ecx, %eax
156 movl %eax, %ecx
157 andl $13107, %eax
158 sarl $2, %ecx
159 andl $-3277, %ecx
160 addl %eax, %ecx
161 movl %ecx, %eax
162 sarl $4, %eax
163 addl %ecx, %eax
164 andl $3855, %eax
165 movl %eax, %ecx
166 sarl $8, %ecx
167 addl %eax, %ecx
168 sall %cl, %r13d
169 testq %r12, %r12
170 movslq %r13d, %rax
171 movq %rax, 40(%rsp)
172 je .L104
173 movq 16(%rsp), %r15
174 movq %r12, %rbx
175 xorl %r13d, %r13d
176 .p2align 4,,10
177 .p2align 3
178 .L17:
179 movq %r15, %rdi
180 addq $1, %r13
181 call __GI_strlen
182 leaq 1(%r15,%rax), %r15
183 notq %rax
184 addq %rax, %rbx
185 jne .L17
186 imulq 40(%rsp), %r13
187 leaq 40(,%r13,8), %rdi
188 call malloc@PLT
189 testq %rax, %rax
190 movq %rax, %r13
191 je .L34
192 movq 16(%rsp), %r15
193 movq %rbp, (%rax)
194 movq %r12, %rbp
195 .p2align 4,,10
196 .p2align 3
197 .L20:
198 movq %r15, %rdi
199 addq $1, %rbx
200 call __GI_strlen
201 leaq 1(%r15,%rax), %r15
202 notq %rax
203 addq %rax, %rbp
204 jne .L20
205 cmpq $1, %rbx
206 movl $1, %eax
207 je .L105
208 .L21:
209 testq %r14, %r14
210 movl %eax, 8(%r13)
211 movq $0, 16(%r13)
212 je .L106
213 movq 24(%r14), %rax
214 movq %rax, 24(%r13)
215 movq %r13, 24(%r14)
216 .L23:
217 testq %r12, %r12
218 je .L45
219 movq 16(%rsp), %r14
220 movq %r12, %rbx
221 xorl %ebp, %ebp
222 .p2align 4,,10
223 .p2align 3
224 .L25:
225 movq %r14, %rdi
226 addq $1, %rbp
227 call __GI_strlen
228 leaq 1(%r14,%rax), %r14
229 notq %rax
230 addq %rax, %rbx
231 jne .L25
232 movl 56(%rsp), %r15d
233 xorl %eax, %eax
234 cmpq $1, %rbp
235 sete %al
236 subl %eax, %r15d
237 .L24:
238 movl 56(%rsp), %eax
239 xorl %ebx, %ebx
240 testl %r15d, %r15d
241 notl %eax
242 movl %eax, 56(%rsp)
243 movq 16(%rsp), %rax
244 leaq (%rax,%r12), %r14
245 js .L32
246 movq %r12, %rax
247 movl %r15d, %r12d
248 movq %rax, %r15
249 .L31:
250 testl %r12d, 56(%rsp)
251 je .L107
252 .L27:
253 subl $1, %r12d
254 cmpl $-1, %r12d
255 jne .L31
256 .L32:
257 movq $0, 32(%r13,%rbx,8)
258 .L1:
259 addq $72, %rsp
260 movq %r13, %rax
261 popq %rbx
262 popq %rbp
263 popq %r12
264 popq %r13
265 popq %r14
266 popq %r15
268 .p2align 4,,10
269 .p2align 3
270 .L97:
271 xorl %ebp, %ebp
272 jmp .L2
273 .p2align 4,,10
274 .p2align 3
275 .L105:
276 movl 56(%rsp), %eax
277 andl $3, %eax
278 cmpl $3, %eax
279 sete %al
280 movzbl %al, %eax
281 jmp .L21
282 .p2align 4,,10
283 .p2align 3
284 .L103:
285 movq 144(%rsp), %rsi
286 movb $64, (%rax)
287 call __GI_stpcpy@PLT
288 leaq 1(%rax), %rdi
289 jmp .L12
290 .p2align 4,,10
291 .p2align 3
292 .L102:
293 movq 136(%rsp), %rsi
294 movb $46, (%rax)
295 call __GI_stpcpy@PLT
296 leaq 1(%rax), %rdi
297 jmp .L11
298 .p2align 4,,10
299 .p2align 3
300 .L101:
301 movq 128(%rsp), %rsi
302 movb $46, (%rax)
303 call __GI_stpcpy@PLT
304 leaq 1(%rax), %rdi
305 jmp .L10
306 .p2align 4,,10
307 .p2align 3
308 .L100:
309 movq 32(%rsp), %rsi
310 leaq 1(%rax), %rdi
311 movb $95, (%rax)
312 call __GI_stpcpy@PLT
313 jmp .L9
314 .L42:
315 xorl %r13d, %r13d
316 .p2align 4,,10
317 .p2align 3
318 .L15:
319 movq %rbp, %rdi
320 call free@PLT
321 jmp .L1
322 .p2align 4,,10
323 .p2align 3
324 .L107:
325 xorl %ebp, %ebp
326 jmp .L26
327 .p2align 4,,10
328 .p2align 3
329 .L108:
330 cmpq %r14, %rbp
331 jnb .L27
332 movq %rbp, %rdi
333 call __GI_strlen@PLT
334 leaq 1(%rbp,%rax), %rbp
335 cmpq %r14, %rbp
336 jnb .L27
337 testq %rbp, %rbp
338 je .L27
339 .L29:
340 movq %rbp, %rdi
341 addq $1, %rbx
342 call __GI_strlen
343 subq $8, %rsp
344 leaq 1(%rax), %rdx
345 movl %r12d, %ecx
346 pushq $1
347 pushq 168(%rsp)
348 movq %rbp, %rsi
349 pushq 168(%rsp)
350 pushq 168(%rsp)
351 pushq 168(%rsp)
352 movq 80(%rsp), %r9
353 movq 56(%rsp), %r8
354 movq 72(%rsp), %rdi
355 call _nl_make_l10nflist@PLT
356 addq $48, %rsp
357 movq %rax, 24(%r13,%rbx,8)
358 .L26:
359 testq %rbp, %rbp
360 jne .L108
361 testq %r15, %r15
362 je .L27
363 movq 16(%rsp), %rbp
364 jmp .L29
365 .p2align 4,,10
366 .p2align 3
367 .L106:
368 movq 48(%rsp), %rax
369 movq %rax, 24(%r13)
370 movq 24(%rsp), %rax
371 movq %r13, (%rax)
372 jmp .L23
373 .p2align 4,,10
374 .p2align 3
375 .L104:
376 movl $40, %edi
377 call malloc@PLT
378 testq %rax, %rax
379 movq %rax, %r13
380 je .L34
381 movq %rbp, 0(%r13)
382 movl $1, %eax
383 jmp .L21
384 .p2align 4,,10
385 .p2align 3
386 .L45:
387 movl 56(%rsp), %r15d
388 jmp .L24
389 .p2align 4,,10
390 .p2align 3
391 .L40:
392 xorl %r13d, %r13d
393 jmp .L1
394 .L41:
395 xorl %r14d, %r14d
396 jmp .L13
397 .L34:
398 movq %rbp, %rdi
399 xorl %r13d, %r13d
400 call free@PLT
401 jmp .L1
402 .size _nl_make_l10nflist, .-_nl_make_l10nflist
403 .p2align 4,,15
404 .globl _nl_normalize_codeset
405 .type _nl_normalize_codeset, @function
406 _nl_normalize_codeset:
407 testq %rsi, %rsi
408 pushq %r12
409 pushq %rbp
410 pushq %rbx
411 je .L110
412 movq 104+_nl_C_locobj(%rip), %rbx
413 leaq (%rsi,%rdi), %r8
414 movq %rdi, %rbp
415 movq %rsi, %r12
416 movq %rdi, %rdx
417 movl $1, %esi
418 xorl %edi, %edi
419 xorl %r9d, %r9d
420 .p2align 4,,10
421 .p2align 3
422 .L112:
423 movzbl (%rdx), %ecx
424 testb $8, (%rbx,%rcx,2)
425 movq %rcx, %rax
426 je .L111
427 subl $48, %eax
428 addq $1, %rdi
429 cmpl $10, %eax
430 cmovnb %r9d, %esi
431 .L111:
432 addq $1, %rdx
433 cmpq %rdx, %r8
434 jne .L112
435 testl %esi, %esi
436 jne .L131
437 addq $1, %rdi
438 call malloc@PLT
439 testq %rax, %rax
440 movq %rax, %rcx
441 je .L115
442 movq %rcx, %rax
443 .L119:
444 movq 112+_nl_C_locobj(%rip), %r9
445 xorl %edx, %edx
446 jmp .L118
447 .p2align 4,,10
448 .p2align 3
449 .L132:
450 movl (%r9,%r8,4), %esi
451 addq $1, %rcx
452 movb %sil, -1(%rcx)
453 .L117:
454 addq $1, %rdx
455 cmpq %rdx, %r12
456 jbe .L121
457 .L118:
458 movzbl 0(%rbp,%rdx), %r8d
459 testb $4, 1(%rbx,%r8,2)
460 jne .L132
461 movzbl %r8b, %esi
462 subl $48, %esi
463 cmpl $9, %esi
464 ja .L117
465 addq $1, %rdx
466 movb %r8b, (%rcx)
467 addq $1, %rcx
468 cmpq %rdx, %r12
469 ja .L118
470 .L121:
471 movb $0, (%rcx)
472 .L134:
473 popq %rbx
474 popq %rbp
475 popq %r12
477 .p2align 4,,10
478 .p2align 3
479 .L131:
480 addq $4, %rdi
481 call malloc@PLT
482 testq %rax, %rax
483 jne .L133
484 .L115:
485 popq %rbx
486 xorl %eax, %eax
487 popq %rbp
488 popq %r12
490 .p2align 4,,10
491 .p2align 3
492 .L133:
493 movl $7304041, (%rax)
494 leaq 3(%rax), %rcx
495 jmp .L119
496 .p2align 4,,10
497 .p2align 3
498 .L110:
499 movl $4, %edi
500 call malloc@PLT
501 testq %rax, %rax
502 je .L115
503 leaq 3(%rax), %rcx
504 movl $7304041, (%rax)
505 movb $0, (%rcx)
506 jmp .L134
507 .size _nl_normalize_codeset, .-_nl_normalize_codeset
508 .hidden _nl_C_locobj