clarify the purpose of this project
[nyanglibc.git] / iconvdata / ibm891.shared.s
blob9de6e613b3747174a5095f65bc06b7201f55c18c
1 .text
2 .p2align 4,,15
3 .type gconv_btowc, @function
4 gconv_btowc:
5 leaq to_ucs4(%rip), %rax
6 movzbl %sil, %edx
7 testb %sil, %sil
8 movl (%rax,%rdx,4), %eax
9 je .L1
10 testl %eax, %eax
11 movl $-1, %edx
12 cmove %edx, %eax
13 .L1:
14 rep ret
15 .size gconv_btowc, .-gconv_btowc
16 .section .rodata.str1.1,"aMS",@progbits,1
17 .LC0:
18 .string "IBM891//"
19 .text
20 .p2align 4,,15
21 .globl gconv_init
22 .type gconv_init, @function
23 gconv_init:
24 movq 24(%rdi), %rsi
25 leaq .LC0(%rip), %rdx
26 movq %rdi, %rax
27 movl $9, %ecx
28 movq %rdx, %rdi
29 repz cmpsb
30 jne .L10
31 movabsq $4294967297, %rdx
32 movabsq $17179869188, %rdi
33 movq $0, 96(%rax)
34 movq %rdx, 72(%rax)
35 leaq gconv_btowc(%rip), %rdx
36 movq %rdi, 80(%rax)
37 movl $0, 88(%rax)
38 movq %rdx, 48(%rax)
39 xorl %eax, %eax
40 ret
41 .p2align 4,,10
42 .p2align 3
43 .L10:
44 movq 32(%rax), %rsi
45 movl $9, %ecx
46 movq %rdx, %rdi
47 repz cmpsb
48 jne .L13
49 movabsq $17179869188, %rdi
50 movabsq $4294967297, %rdx
51 movq $-1, 96(%rax)
52 movq %rdi, 72(%rax)
53 movq %rdx, 80(%rax)
54 movl $0, 88(%rax)
55 xorl %eax, %eax
56 ret
57 .p2align 4,,10
58 .p2align 3
59 .L13:
60 movl $1, %eax
61 ret
62 .size gconv_init, .-gconv_init
63 .section .rodata.str1.1
64 .LC1:
65 .string "../iconv/skeleton.c"
66 .LC2:
67 .string "outbufstart == NULL"
68 .LC3:
69 .string "../iconv/loop.c"
70 .section .rodata.str1.8,"aMS",@progbits,1
71 .align 8
72 .LC4:
73 .string "(state->__count & 7) <= sizeof (state->__value)"
74 .align 8
75 .LC5:
76 .string "inlen_after <= sizeof (state->__value.__wchb)"
77 .align 8
78 .LC6:
79 .string "inptr - bytebuf > (state->__count & 7)"
80 .align 8
81 .LC7:
82 .string "inend != &bytebuf[MAX_NEEDED_INPUT]"
83 .align 8
84 .LC8:
85 .string "inend - inptr > (state->__count & ~7)"
86 .align 8
87 .LC9:
88 .string "inend - inptr <= sizeof (state->__value.__wchb)"
89 .section .rodata.str1.1
90 .LC10:
91 .string "outbuf == outerr"
92 .section .rodata.str1.8
93 .align 8
94 .LC11:
95 .string "nstatus == __GCONV_FULL_OUTPUT"
96 .align 8
97 .LC12:
98 .string "cnt_after <= sizeof (data->__statep->__value.__wchb)"
99 .text
100 .p2align 4,,15
101 .globl gconv
102 .type gconv, @function
103 gconv:
104 pushq %r15
105 pushq %r14
106 movq %rdi, %rax
107 pushq %r13
108 pushq %r12
109 movq %rsi, %r12
110 pushq %rbp
111 pushq %rbx
112 leaq 104(%rdi), %rsi
113 movq %rcx, %rbp
114 subq $152, %rsp
115 movl 16(%r12), %r14d
116 movq %rdi, 40(%rsp)
117 leaq 48(%r12), %rdi
118 movq %rdx, 8(%rsp)
119 movq %r8, 32(%rsp)
120 movq %r9, 16(%rsp)
121 testb $1, %r14b
122 movl 208(%rsp), %ebx
123 movq %rsi, 80(%rsp)
124 movq %rdi, 72(%rsp)
125 movq $0, 64(%rsp)
126 jne .L15
127 cmpq $0, 104(%rax)
128 movq 144(%rax), %rsi
129 movq %rsi, 64(%rsp)
130 je .L15
131 movq %rsi, %rax
132 #APP
133 # 410 "../iconv/skeleton.c" 1
134 ror $2*8+1, %rax
135 xor %fs:48, %rax
136 # 0 "" 2
137 #NO_APP
138 movq %rax, 64(%rsp)
139 .L15:
140 testl %ebx, %ebx
141 jne .L216
142 movq 8(%rsp), %rax
143 movq 32(%rsp), %rcx
144 leaq 112(%rsp), %rdx
145 movl 216(%rsp), %ebx
146 movq 8(%r12), %r10
147 testq %rcx, %rcx
148 movq (%rax), %r13
149 movq %rcx, %rax
150 cmove %r12, %rax
151 cmpq $0, 16(%rsp)
152 movq (%rax), %r15
153 movl $0, %eax
154 movq $0, 112(%rsp)
155 cmovne %rdx, %rax
156 testl %ebx, %ebx
157 movq %rax, 96(%rsp)
158 movq 40(%rsp), %rax
159 setne 95(%rsp)
160 movzbl 95(%rsp), %esi
161 movq 96(%rax), %rax
162 testq %rax, %rax
163 je .L113
164 testb %sil, %sil
165 je .L113
166 movq 32(%r12), %rbx
167 movl (%rbx), %esi
168 movl %esi, %edx
169 andl $7, %edx
170 jne .L217
171 .L113:
172 movq $0, 24(%rsp)
173 .L22:
174 leaq 136(%rsp), %rsi
175 movq %rsi, 104(%rsp)
176 .p2align 4,,10
177 .p2align 3
178 .L103:
179 movq 16(%rsp), %rdi
180 testq %rdi, %rdi
181 je .L53
182 movq (%rdi), %rcx
183 addq %rcx, 24(%rsp)
184 .L53:
185 testq %rax, %rax
186 je .L218
187 leaq 128(%rsp), %rsi
188 movq %r13, 128(%rsp)
189 movq %r15, %rbx
190 movq %r15, 136(%rsp)
191 movq %r13, %rax
192 movl $4, %r11d
193 andl $2, %r14d
194 movq %rsi, 48(%rsp)
195 .L61:
196 cmpq %rax, %rbp
197 je .L62
198 .L69:
199 leaq 4(%rax), %rsi
200 cmpq %rsi, %rbp
201 jb .L121
202 cmpq %rbx, %r10
203 jbe .L122
204 movl (%rax), %edx
205 cmpl $127, %edx
206 ja .L63
207 leaq from_ucs4(%rip), %rdi
208 movl %edx, %ecx
209 movzbl (%rdi,%rcx), %ecx
210 testb %cl, %cl
211 jne .L64
212 testl %edx, %edx
213 jne .L63
214 .L64:
215 leaq 1(%rbx), %rdx
216 movq %rdx, 136(%rsp)
217 movb %cl, (%rbx)
218 movq 128(%rsp), %rax
219 movq 136(%rsp), %rbx
220 addq $4, %rax
221 cmpq %rax, %rbp
222 movq %rax, 128(%rsp)
223 jne .L69
224 .p2align 4,,10
225 .p2align 3
226 .L62:
227 cmpq $0, 32(%rsp)
228 movq 8(%rsp), %rdi
229 movq %rax, (%rdi)
230 jne .L219
231 .L70:
232 addl $1, 20(%r12)
233 testb $1, 16(%r12)
234 jne .L220
235 cmpq %rbx, %r15
236 jnb .L125
237 movq 64(%rsp), %r14
238 movq (%r12), %rax
239 movl %r11d, 56(%rsp)
240 movq %r10, 48(%rsp)
241 movq %r14, %rdi
242 movq %rax, 120(%rsp)
243 call _dl_mcount_wrapper_check@PLT
244 movl 216(%rsp), %eax
245 leaq 120(%rsp), %rdx
246 xorl %r8d, %r8d
247 movq %rbx, %rcx
248 pushq %rax
249 pushq $0
250 movq 32(%rsp), %r9
251 movq 88(%rsp), %rsi
252 movq 96(%rsp), %rdi
253 call *%r14
254 popq %rsi
255 cmpl $4, %eax
256 movl %eax, %r14d
257 popq %rdi
258 movq 48(%rsp), %r10
259 movl 56(%rsp), %r11d
260 je .L74
261 movq 120(%rsp), %r11
262 cmpq %rbx, %r11
263 jne .L221
264 .L73:
265 testl %r14d, %r14d
266 jne .L136
267 .L102:
268 movq 112(%rsp), %rax
269 movq 8(%rsp), %rdi
270 movl 16(%r12), %r14d
271 movq (%r12), %r15
272 movq %rax, 24(%rsp)
273 movq 40(%rsp), %rax
274 movq (%rdi), %r13
275 movq 96(%rax), %rax
276 jmp .L103
277 .p2align 4,,10
278 .p2align 3
279 .L63:
280 shrl $7, %edx
281 cmpl $7168, %edx
282 je .L222
283 cmpq $0, 96(%rsp)
284 je .L124
285 testb $8, 16(%r12)
286 jne .L223
287 .L67:
288 testl %r14d, %r14d
289 jne .L224
290 .L124:
291 movl $6, %r11d
292 jmp .L62
293 .p2align 4,,10
294 .p2align 3
295 .L218:
296 cmpq %r13, %rbp
297 je .L116
298 leaq 4(%r15), %rdx
299 cmpq %rdx, %r10
300 jb .L117
301 movq %r13, %rax
302 movq %r15, %rbx
303 movl $4, %r11d
304 andl $2, %r14d
305 .p2align 4,,10
306 .p2align 3
307 .L56:
308 movzbl (%rax), %esi
309 leaq to_ucs4(%rip), %r9
310 movq %rax, %rdi
311 movq %rsi, %rcx
312 movl (%r9,%rsi,4), %esi
313 testb %cl, %cl
314 je .L57
315 testl %esi, %esi
316 je .L225
317 .L57:
318 addq $1, %rax
319 movl %esi, (%rbx)
320 movq %rdx, %rbx
321 movq %rax, %rdi
322 .L58:
323 cmpq %rax, %rbp
324 je .L55
325 leaq 4(%rbx), %rdx
326 cmpq %rdx, %r10
327 jnb .L56
328 movl $5, %r11d
329 .L55:
330 cmpq $0, 32(%rsp)
331 movq 8(%rsp), %rax
332 movq %rdi, (%rax)
333 je .L70
334 .L219:
335 movq 32(%rsp), %rax
336 movl %r11d, %r8d
337 movq %rbx, (%rax)
338 .L14:
339 addq $152, %rsp
340 movl %r8d, %eax
341 popq %rbx
342 popq %rbp
343 popq %r12
344 popq %r13
345 popq %r14
346 popq %r15
348 .p2align 4,,10
349 .p2align 3
350 .L121:
351 movl $7, %r11d
352 jmp .L62
353 .p2align 4,,10
354 .p2align 3
355 .L74:
356 cmpl $5, %r11d
357 movl %r11d, %r14d
358 jne .L73
359 jmp .L102
360 .p2align 4,,10
361 .p2align 3
362 .L122:
363 movl $5, %r11d
364 jmp .L62
365 .p2align 4,,10
366 .p2align 3
367 .L220:
368 movq 16(%rsp), %rdi
369 movq %rbx, (%r12)
370 movl %r11d, %r8d
371 movq 112(%rsp), %rax
372 addq %rax, (%rdi)
373 .L72:
374 movq 40(%rsp), %rax
375 cmpq $0, 96(%rax)
376 setne %al
377 testb %al, 95(%rsp)
378 je .L14
379 cmpl $7, %r8d
380 jne .L14
381 movq 8(%rsp), %rax
382 movq %rbp, %rdx
383 movq (%rax), %rdi
384 subq %rdi, %rdx
385 cmpq $4, %rdx
386 ja .L105
387 xorl %eax, %eax
388 testq %rdx, %rdx
389 movq 32(%r12), %rsi
390 je .L107
391 .L106:
392 movzbl (%rdi,%rax), %ecx
393 movb %cl, 4(%rsi,%rax)
394 addq $1, %rax
395 cmpq %rax, %rdx
396 jne .L106
397 .L107:
398 movq 8(%rsp), %rax
399 movq %rbp, (%rax)
400 movl (%rsi), %eax
401 andl $-8, %eax
402 orl %eax, %edx
403 movl %edx, (%rsi)
404 jmp .L14
405 .p2align 4,,10
406 .p2align 3
407 .L125:
408 movl %r11d, %r14d
409 jmp .L73
410 .p2align 4,,10
411 .p2align 3
412 .L225:
413 cmpq $0, 96(%rsp)
414 je .L120
415 testl %r14d, %r14d
416 jne .L226
417 .L120:
418 movl $6, %r11d
419 jmp .L55
420 .p2align 4,,10
421 .p2align 3
422 .L223:
423 movq %r10, 56(%rsp)
424 subq $8, %rsp
425 movq %rbp, %r8
426 pushq 104(%rsp)
427 movq 24(%rsp), %rax
428 movq %r12, %rsi
429 movq 120(%rsp), %r9
430 movq 64(%rsp), %rcx
431 movq 56(%rsp), %rdi
432 movq (%rax), %rdx
433 call __gconv_transliterate@PLT
434 movl %eax, %r11d
435 popq %r8
436 cmpl $6, %r11d
437 popq %r9
438 movq 128(%rsp), %rax
439 movq 136(%rsp), %rbx
440 movq 56(%rsp), %r10
441 je .L67
442 cmpl $5, %r11d
443 jne .L61
444 jmp .L62
445 .p2align 4,,10
446 .p2align 3
447 .L222:
448 movq %rsi, 128(%rsp)
449 movq %rsi, %rax
450 jmp .L61
451 .p2align 4,,10
452 .p2align 3
453 .L224:
454 movq 96(%rsp), %rdi
455 addq $4, %rax
456 movl $6, %r11d
457 movq %rax, 128(%rsp)
458 addq $1, (%rdi)
459 jmp .L61
460 .p2align 4,,10
461 .p2align 3
462 .L221:
463 movq 16(%rsp), %rsi
464 xorl %eax, %eax
465 testq %rsi, %rsi
466 je .L76
467 movq (%rsi), %rax
468 .L76:
469 addq 112(%rsp), %rax
470 cmpq 24(%rsp), %rax
471 movq 8(%rsp), %rax
472 je .L227
473 movq %r13, (%rax)
474 movq 40(%rsp), %rax
475 movl 16(%r12), %ecx
476 cmpq $0, 96(%rax)
477 je .L228
478 andl $2, %ecx
479 leaq 128(%rsp), %rbx
480 movq %r13, 128(%rsp)
481 movq %r15, 136(%rsp)
482 movq %r15, %rdx
483 movl $4, %eax
484 movl %ecx, 24(%rsp)
485 .L91:
486 cmpq %r13, %rbp
487 je .L229
488 .L99:
489 leaq 4(%r13), %rdi
490 cmpq %rdi, %rbp
491 jb .L130
492 cmpq %rdx, %r11
493 jbe .L133
494 movl 0(%r13), %ecx
495 cmpl $127, %ecx
496 ja .L93
497 leaq from_ucs4(%rip), %r8
498 movl %ecx, %esi
499 movzbl (%r8,%rsi), %esi
500 testb %sil, %sil
501 jne .L94
502 testl %ecx, %ecx
503 jne .L93
504 .L94:
505 leaq 1(%rdx), %rcx
506 movq %rcx, 136(%rsp)
507 movb %sil, (%rdx)
508 movq 128(%rsp), %rcx
509 movq 136(%rsp), %rdx
510 leaq 4(%rcx), %r13
511 cmpq %r13, %rbp
512 movq %r13, 128(%rsp)
513 jne .L99
514 .L229:
515 movslq %eax, %rdi
516 movq %rbp, %r13
517 .L92:
518 movq 8(%rsp), %rax
519 movq 120(%rsp), %r11
520 movq %r13, (%rax)
521 .L90:
522 cmpq %r11, %rdx
523 jne .L82
524 cmpq $5, %rdi
525 jne .L81
526 cmpq %rdx, %r15
527 jne .L73
528 .L84:
529 subl $1, 20(%r12)
530 jmp .L73
531 .p2align 4,,10
532 .p2align 3
533 .L217:
534 testq %rcx, %rcx
535 jne .L230
536 cmpl $4, %edx
537 movq %r13, 128(%rsp)
538 movq %r15, 136(%rsp)
539 ja .L24
540 leaq 120(%rsp), %rdi
541 movslq %edx, %rdx
542 xorl %eax, %eax
543 movq %rdx, %r11
544 movq %rdi, 24(%rsp)
545 .L25:
546 movzbl 4(%rbx,%rax), %ecx
547 movb %cl, (%rdi,%rax)
548 addq $1, %rax
549 cmpq %rdx, %rax
550 jne .L25
551 movq %r13, %rcx
552 subq %rax, %rcx
553 addq $4, %rcx
554 cmpq %rcx, %rbp
555 jb .L231
556 cmpq %r10, %r15
557 movl $5, %r8d
558 jnb .L14
559 leaq 1(%r13), %rax
560 leaq 119(%rsp), %r8
561 .L33:
562 movq %rax, 128(%rsp)
563 movzbl -1(%rax), %ecx
564 addq $1, %r11
565 movq %rax, %rdi
566 addq $1, %rax
567 cmpq $3, %r11
568 movb %cl, (%r8,%r11)
569 ja .L138
570 cmpq %rdi, %rbp
571 ja .L33
572 .L138:
573 movq 24(%rsp), %rax
574 movq %rax, 128(%rsp)
575 movl 120(%rsp), %eax
576 cmpl $127, %eax
577 ja .L35
578 leaq from_ucs4(%rip), %rdi
579 movl %eax, %ecx
580 movzbl (%rdi,%rcx), %ecx
581 testb %cl, %cl
582 jne .L36
583 testl %eax, %eax
584 je .L36
585 .L35:
586 shrl $7, %eax
587 cmpl $7168, %eax
588 je .L232
589 cmpq $0, 96(%rsp)
590 je .L114
591 testb $8, %r14b
592 jne .L233
593 andl $2, %r14d
594 movl $6, %r8d
595 movq 24(%rsp), %rax
596 je .L14
597 .L43:
598 movq 96(%rsp), %rsi
599 addq $4, %rax
600 movq %rax, 128(%rsp)
601 addq $1, (%rsi)
602 .L44:
603 cmpq 24(%rsp), %rax
604 jne .L215
605 .L114:
606 movl $6, %r8d
607 jmp .L14
608 .p2align 4,,10
609 .p2align 3
610 .L227:
611 movq 40(%rsp), %rsi
612 subq %r11, %rbx
613 movq (%rax), %rax
614 cmpq $0, 96(%rsi)
615 je .L234
616 salq $2, %rbx
617 subq %rbx, %rax
618 movq 8(%rsp), %rbx
619 movq %rax, (%rbx)
620 jmp .L73
621 .L36:
622 leaq 1(%r15), %rax
623 movq %rax, 136(%rsp)
624 movb %cl, (%r15)
625 movq 128(%rsp), %rax
626 addq $4, %rax
627 cmpq 24(%rsp), %rax
628 movq %rax, 128(%rsp)
629 je .L45
630 .L215:
631 movl (%rbx), %esi
632 movl %esi, %edx
633 andl $7, %edx
634 .L38:
635 subq 24(%rsp), %rax
636 cmpq %rdx, %rax
637 jle .L235
638 movq 8(%rsp), %rdi
639 subq %rdx, %rax
640 andl $-8, %esi
641 movq 136(%rsp), %r15
642 movl 16(%r12), %r14d
643 addq (%rdi), %rax
644 movq %rax, (%rdi)
645 movq %rax, %r13
646 movq 112(%rsp), %rax
647 movl %esi, (%rbx)
648 movq %rax, 24(%rsp)
649 movq 40(%rsp), %rax
650 movq 96(%rax), %rax
651 jmp .L22
652 .p2align 4,,10
653 .p2align 3
654 .L117:
655 movq %r13, %rdi
656 movq %r15, %rbx
657 movl $5, %r11d
658 jmp .L55
659 .L226:
660 movq 96(%rsp), %rsi
661 leaq 1(%rax), %rax
662 movl $6, %r11d
663 movq %rax, %rdi
664 addq $1, (%rsi)
665 jmp .L58
666 .L216:
667 cmpq $0, 32(%rsp)
668 jne .L236
669 movq 32(%r12), %rax
670 xorl %r8d, %r8d
671 movq $0, (%rax)
672 testb $1, 16(%r12)
673 jne .L14
674 movq 64(%rsp), %r15
675 movq %r15, %rdi
676 call _dl_mcount_wrapper_check@PLT
677 movl 216(%rsp), %eax
678 xorl %r8d, %r8d
679 xorl %ecx, %ecx
680 xorl %edx, %edx
681 pushq %rax
682 pushq %rbx
683 movq 32(%rsp), %r9
684 movq 88(%rsp), %rsi
685 movq 96(%rsp), %rdi
686 call *%r15
687 popq %rbp
688 movl %eax, %r8d
689 popq %r12
690 jmp .L14
691 .L136:
692 movl %r14d, %r8d
693 jmp .L72
694 .L234:
695 leaq 3(%rbx), %rdx
696 testq %rbx, %rbx
697 cmovs %rdx, %rbx
698 sarq $2, %rbx
699 subq %rbx, %rax
700 movq 8(%rsp), %rbx
701 movq %rax, (%rbx)
702 jmp .L73
703 .L116:
704 movq %rbp, %rdi
705 movq %r15, %rbx
706 movl $4, %r11d
707 jmp .L55
708 .L228:
709 cmpq %r13, %rbp
710 je .L237
711 leaq 4(%r15), %rax
712 cmpq %r11, %rax
713 ja .L238
714 andl $2, %ecx
715 movq %r15, %rdx
716 movl $4, %edi
717 movl %ecx, %r9d
718 movq %r13, %rcx
719 .p2align 4,,10
720 .p2align 3
721 .L85:
722 movzbl (%rcx), %esi
723 leaq to_ucs4(%rip), %r13
724 movq %rcx, %r8
725 movq %rsi, %rbx
726 movl 0(%r13,%rsi,4), %esi
727 testl %esi, %esi
728 jne .L87
729 testb %bl, %bl
730 jne .L239
731 .L87:
732 addq $1, %rcx
733 movl %esi, (%rdx)
734 movq %rax, %rdx
735 movq %rcx, %r8
736 .L88:
737 cmpq %rcx, %rbp
738 je .L240
739 leaq 4(%rdx), %rax
740 cmpq %rax, %r11
741 jnb .L85
742 movl $5, %edi
743 .L86:
744 movq 8(%rsp), %rax
745 movq %r8, (%rax)
746 jmp .L90
747 .L93:
748 shrl $7, %ecx
749 cmpl $7168, %ecx
750 je .L241
751 cmpq $0, 96(%rsp)
752 je .L134
753 testb $8, 16(%r12)
754 jne .L242
755 .L97:
756 movl 24(%rsp), %eax
757 testl %eax, %eax
758 jne .L243
759 .L134:
760 movl $6, %edi
761 jmp .L92
762 .L130:
763 movl $7, %edi
764 jmp .L92
765 .L242:
766 movq %r11, 56(%rsp)
767 movq %r10, 48(%rsp)
768 subq $8, %rsp
769 pushq 104(%rsp)
770 movq 24(%rsp), %rax
771 movq %rbx, %rcx
772 movq 120(%rsp), %r9
773 movq 56(%rsp), %rdi
774 movq %rbp, %r8
775 movq %r12, %rsi
776 movq (%rax), %rdx
777 call __gconv_transliterate@PLT
778 popq %rdx
779 cmpl $6, %eax
780 popq %rcx
781 movq 128(%rsp), %r13
782 movq 136(%rsp), %rdx
783 movq 48(%rsp), %r10
784 movq 56(%rsp), %r11
785 je .L97
786 cmpl $5, %eax
787 jne .L91
788 .L133:
789 movl $5, %edi
790 jmp .L92
791 .L231:
792 movq %rbp, %rdx
793 movq 8(%rsp), %rsi
794 subq %r13, %rdx
795 addq %rax, %rdx
796 cmpq $4, %rdx
797 movq %rbp, (%rsi)
798 ja .L27
799 addq $1, %r13
800 cmpq %rax, %rdx
801 jbe .L29
802 .L30:
803 movq %r13, 128(%rsp)
804 movzbl -1(%r13), %eax
805 addq $1, %r13
806 movb %al, 4(%rbx,%r11)
807 addq $1, %r11
808 cmpq %r11, %rdx
809 jne .L30
810 .L29:
811 movl $7, %r8d
812 jmp .L14
813 .L239:
814 cmpq $0, 96(%rsp)
815 je .L129
816 testl %r9d, %r9d
817 jne .L244
818 .L129:
819 movl $6, %edi
820 jmp .L86
821 .L243:
822 movq 96(%rsp), %rax
823 addq $4, %r13
824 movq %r13, 128(%rsp)
825 addq $1, (%rax)
826 movl $6, %eax
827 jmp .L91
828 .L241:
829 movq %rdi, 128(%rsp)
830 movq %rdi, %r13
831 jmp .L91
832 .L240:
833 movq %rbp, %r8
834 jmp .L86
835 .L48:
836 testl %r8d, %r8d
837 jne .L14
838 .L45:
839 movq 112(%rsp), %rax
840 movq 8(%rsp), %rbx
841 movl 16(%r12), %r14d
842 movq %rax, 24(%rsp)
843 movq 40(%rsp), %rax
844 movq (%rbx), %r13
845 movq 96(%rax), %rax
846 jmp .L22
847 .L238:
848 cmpq %r15, %r11
849 je .L84
850 .L82:
851 leaq __PRETTY_FUNCTION__.9138(%rip), %rcx
852 leaq .LC1(%rip), %rsi
853 leaq .LC10(%rip), %rdi
854 movl $746, %edx
855 call __assert_fail@PLT
856 .p2align 4,,10
857 .p2align 3
858 .L244:
859 movq 96(%rsp), %rax
860 leaq 1(%rcx), %rcx
861 movl $6, %edi
862 movq %rcx, %r8
863 addq $1, (%rax)
864 jmp .L88
865 .L232:
866 movq 24(%rsp), %rax
867 addq $4, %rax
868 movq %rax, 128(%rsp)
869 jmp .L38
870 .L233:
871 movq 24(%rsp), %rax
872 movq %r10, 104(%rsp)
873 leaq 128(%rsp), %rcx
874 movq %r11, 56(%rsp)
875 subq $8, %rsp
876 movq %r13, %rdx
877 movq %r12, %rsi
878 addq %r11, %rax
879 movq %rax, 56(%rsp)
880 pushq 104(%rsp)
881 movq %rax, %r8
882 movq 56(%rsp), %rdi
883 leaq 152(%rsp), %r9
884 call __gconv_transliterate@PLT
885 popq %r10
886 cmpl $6, %eax
887 movl %eax, %r8d
888 popq %r11
889 movq 56(%rsp), %r11
890 movq 104(%rsp), %r10
891 je .L245
892 movq 128(%rsp), %rax
893 cmpq 24(%rsp), %rax
894 jne .L215
895 cmpl $7, %r8d
896 jne .L48
897 movq 24(%rsp), %rax
898 addq $4, %rax
899 cmpq %rax, 48(%rsp)
900 je .L246
901 movl (%rbx), %eax
902 movq 8(%rsp), %rdi
903 movq %r11, %rsi
904 movl %eax, %edx
905 andl $-8, %eax
906 andl $7, %edx
907 subq %rdx, %rsi
908 movslq %eax, %rdx
909 addq %rsi, (%rdi)
910 cmpq %rdx, %r11
911 jle .L247
912 cmpq $4, %r11
913 ja .L248
914 orl %r11d, %eax
915 testq %r11, %r11
916 movl %eax, (%rbx)
917 je .L29
918 movq 24(%rsp), %rcx
919 xorl %eax, %eax
920 .L52:
921 movzbl (%rcx,%rax), %edx
922 movb %dl, 4(%rbx,%rax)
923 addq $1, %rax
924 cmpq %rax, %r11
925 jne .L52
926 jmp .L29
927 .L237:
928 cmpq %r15, %r11
929 jne .L82
930 .L81:
931 leaq __PRETTY_FUNCTION__.9138(%rip), %rcx
932 leaq .LC1(%rip), %rsi
933 leaq .LC11(%rip), %rdi
934 movl $747, %edx
935 call __assert_fail@PLT
936 .p2align 4,,10
937 .p2align 3
938 .L245:
939 andl $2, %r14d
940 movq 128(%rsp), %rax
941 je .L44
942 jmp .L43
943 .L248:
944 leaq __PRETTY_FUNCTION__.9064(%rip), %rcx
945 leaq .LC3(%rip), %rsi
946 leaq .LC9(%rip), %rdi
947 movl $488, %edx
948 call __assert_fail@PLT
949 .L247:
950 leaq __PRETTY_FUNCTION__.9064(%rip), %rcx
951 leaq .LC3(%rip), %rsi
952 leaq .LC8(%rip), %rdi
953 movl $487, %edx
954 call __assert_fail@PLT
955 .L246:
956 leaq __PRETTY_FUNCTION__.9064(%rip), %rcx
957 leaq .LC3(%rip), %rsi
958 leaq .LC7(%rip), %rdi
959 movl $477, %edx
960 call __assert_fail@PLT
961 .L236:
962 leaq __PRETTY_FUNCTION__.9138(%rip), %rcx
963 leaq .LC1(%rip), %rsi
964 leaq .LC2(%rip), %rdi
965 movl $420, %edx
966 call __assert_fail@PLT
967 .L105:
968 leaq __PRETTY_FUNCTION__.9138(%rip), %rcx
969 leaq .LC1(%rip), %rsi
970 leaq .LC12(%rip), %rdi
971 movl $799, %edx
972 call __assert_fail@PLT
973 .L235:
974 leaq __PRETTY_FUNCTION__.9064(%rip), %rcx
975 leaq .LC3(%rip), %rsi
976 leaq .LC6(%rip), %rdi
977 movl $459, %edx
978 call __assert_fail@PLT
979 .L27:
980 leaq __PRETTY_FUNCTION__.9064(%rip), %rcx
981 leaq .LC3(%rip), %rsi
982 leaq .LC5(%rip), %rdi
983 movl $424, %edx
984 call __assert_fail@PLT
985 .L24:
986 leaq __PRETTY_FUNCTION__.9064(%rip), %rcx
987 leaq .LC3(%rip), %rsi
988 leaq .LC4(%rip), %rdi
989 movl $395, %edx
990 call __assert_fail@PLT
991 .L230:
992 leaq __PRETTY_FUNCTION__.9138(%rip), %rcx
993 leaq .LC1(%rip), %rsi
994 leaq .LC2(%rip), %rdi
995 movl $564, %edx
996 call __assert_fail@PLT
997 .size gconv, .-gconv
998 .section .rodata.str1.16,"aMS",@progbits,1
999 .align 16
1000 .type __PRETTY_FUNCTION__.9064, @object
1001 .size __PRETTY_FUNCTION__.9064, 18
1002 __PRETTY_FUNCTION__.9064:
1003 .string "to_generic_single"
1004 .section .rodata.str1.1
1005 .type __PRETTY_FUNCTION__.9138, @object
1006 .size __PRETTY_FUNCTION__.9138, 6
1007 __PRETTY_FUNCTION__.9138:
1008 .string "gconv"
1009 .section .rodata
1010 .align 32
1011 .type from_ucs4, @object
1012 .size from_ucs4, 128
1013 from_ucs4:
1014 .zero 1
1015 .byte 1
1016 .byte 2
1017 .byte 3
1018 .byte 4
1019 .byte 5
1020 .byte 6
1021 .byte 7
1022 .byte 8
1023 .byte 9
1024 .byte 10
1025 .byte 11
1026 .byte 12
1027 .byte 13
1028 .byte 14
1029 .byte 15
1030 .byte 16
1031 .byte 17
1032 .byte 18
1033 .byte 19
1034 .byte 20
1035 .byte 21
1036 .byte 22
1037 .byte 23
1038 .byte 24
1039 .byte 25
1040 .byte 26
1041 .byte 27
1042 .byte 28
1043 .byte 29
1044 .byte 30
1045 .byte 31
1046 .byte 32
1047 .byte 33
1048 .byte 34
1049 .byte 35
1050 .byte 36
1051 .byte 37
1052 .byte 38
1053 .byte 39
1054 .byte 40
1055 .byte 41
1056 .byte 42
1057 .byte 43
1058 .byte 44
1059 .byte 45
1060 .byte 46
1061 .byte 47
1062 .byte 48
1063 .byte 49
1064 .byte 50
1065 .byte 51
1066 .byte 52
1067 .byte 53
1068 .byte 54
1069 .byte 55
1070 .byte 56
1071 .byte 57
1072 .byte 58
1073 .byte 59
1074 .byte 60
1075 .byte 61
1076 .byte 62
1077 .byte 63
1078 .byte 64
1079 .byte 65
1080 .byte 66
1081 .byte 67
1082 .byte 68
1083 .byte 69
1084 .byte 70
1085 .byte 71
1086 .byte 72
1087 .byte 73
1088 .byte 74
1089 .byte 75
1090 .byte 76
1091 .byte 77
1092 .byte 78
1093 .byte 79
1094 .byte 80
1095 .byte 81
1096 .byte 82
1097 .byte 83
1098 .byte 84
1099 .byte 85
1100 .byte 86
1101 .byte 87
1102 .byte 88
1103 .byte 89
1104 .byte 90
1105 .byte 91
1106 .byte 92
1107 .byte 93
1108 .byte 94
1109 .byte 95
1110 .byte 96
1111 .byte 97
1112 .byte 98
1113 .byte 99
1114 .byte 100
1115 .byte 101
1116 .byte 102
1117 .byte 103
1118 .byte 104
1119 .byte 105
1120 .byte 106
1121 .byte 107
1122 .byte 108
1123 .byte 109
1124 .byte 110
1125 .byte 111
1126 .byte 112
1127 .byte 113
1128 .byte 114
1129 .byte 115
1130 .byte 116
1131 .byte 117
1132 .byte 118
1133 .byte 119
1134 .byte 120
1135 .byte 121
1136 .byte 122
1137 .byte 123
1138 .byte 124
1139 .byte 125
1140 .byte 126
1141 .byte 127
1142 .align 32
1143 .type to_ucs4, @object
1144 .size to_ucs4, 1024
1145 to_ucs4:
1146 .zero 4
1147 .long 1
1148 .long 2
1149 .long 3
1150 .long 4
1151 .long 5
1152 .long 6
1153 .long 7
1154 .long 8
1155 .long 9
1156 .long 10
1157 .long 11
1158 .long 12
1159 .long 13
1160 .long 14
1161 .long 15
1162 .long 16
1163 .long 17
1164 .long 18
1165 .long 19
1166 .long 20
1167 .long 21
1168 .long 22
1169 .long 23
1170 .long 24
1171 .long 25
1172 .long 26
1173 .long 27
1174 .long 28
1175 .long 29
1176 .long 30
1177 .long 31
1178 .long 32
1179 .long 33
1180 .long 34
1181 .long 35
1182 .long 36
1183 .long 37
1184 .long 38
1185 .long 39
1186 .long 40
1187 .long 41
1188 .long 42
1189 .long 43
1190 .long 44
1191 .long 45
1192 .long 46
1193 .long 47
1194 .long 48
1195 .long 49
1196 .long 50
1197 .long 51
1198 .long 52
1199 .long 53
1200 .long 54
1201 .long 55
1202 .long 56
1203 .long 57
1204 .long 58
1205 .long 59
1206 .long 60
1207 .long 61
1208 .long 62
1209 .long 63
1210 .long 64
1211 .long 65
1212 .long 66
1213 .long 67
1214 .long 68
1215 .long 69
1216 .long 70
1217 .long 71
1218 .long 72
1219 .long 73
1220 .long 74
1221 .long 75
1222 .long 76
1223 .long 77
1224 .long 78
1225 .long 79
1226 .long 80
1227 .long 81
1228 .long 82
1229 .long 83
1230 .long 84
1231 .long 85
1232 .long 86
1233 .long 87
1234 .long 88
1235 .long 89
1236 .long 90
1237 .long 91
1238 .long 92
1239 .long 93
1240 .long 94
1241 .long 95
1242 .long 96
1243 .long 97
1244 .long 98
1245 .long 99
1246 .long 100
1247 .long 101
1248 .long 102
1249 .long 103
1250 .long 104
1251 .long 105
1252 .long 106
1253 .long 107
1254 .long 108
1255 .long 109
1256 .long 110
1257 .long 111
1258 .long 112
1259 .long 113
1260 .long 114
1261 .long 115
1262 .long 116
1263 .long 117
1264 .long 118
1265 .long 119
1266 .long 120
1267 .long 121
1268 .long 122
1269 .long 123
1270 .long 124
1271 .long 125
1272 .long 126
1273 .long 127
1274 .zero 512