clarify the purpose of this project
[nyanglibc.git] / iconvdata / ibm901.shared.s
blob665b510ce011818022b8577005ec389e668015bc
1 .text
2 .p2align 4,,15
3 .type gconv_btowc, @function
4 gconv_btowc:
5 leaq to_ucs4(%rip), %rax
6 movzbl %sil, %esi
7 movl (%rax,%rsi,4), %eax
8 ret
9 .size gconv_btowc, .-gconv_btowc
10 .section .rodata.str1.1,"aMS",@progbits,1
11 .LC0:
12 .string "IBM901//"
13 .text
14 .p2align 4,,15
15 .globl gconv_init
16 .type gconv_init, @function
17 gconv_init:
18 movq 24(%rdi), %rsi
19 leaq .LC0(%rip), %rdx
20 movq %rdi, %rax
21 movl $9, %ecx
22 movq %rdx, %rdi
23 repz cmpsb
24 jne .L4
25 movabsq $4294967297, %rdx
26 movabsq $17179869188, %rdi
27 movq $0, 96(%rax)
28 movq %rdx, 72(%rax)
29 leaq gconv_btowc(%rip), %rdx
30 movq %rdi, 80(%rax)
31 movl $0, 88(%rax)
32 movq %rdx, 48(%rax)
33 xorl %eax, %eax
34 ret
35 .p2align 4,,10
36 .p2align 3
37 .L4:
38 movq 32(%rax), %rsi
39 movl $9, %ecx
40 movq %rdx, %rdi
41 repz cmpsb
42 jne .L7
43 movabsq $17179869188, %rdi
44 movabsq $4294967297, %rdx
45 movq $-1, 96(%rax)
46 movq %rdi, 72(%rax)
47 movq %rdx, 80(%rax)
48 movl $0, 88(%rax)
49 xorl %eax, %eax
50 ret
51 .p2align 4,,10
52 .p2align 3
53 .L7:
54 movl $1, %eax
55 ret
56 .size gconv_init, .-gconv_init
57 .section .rodata.str1.1
58 .LC1:
59 .string "../iconv/skeleton.c"
60 .LC2:
61 .string "outbufstart == NULL"
62 .LC3:
63 .string "../iconv/loop.c"
64 .section .rodata.str1.8,"aMS",@progbits,1
65 .align 8
66 .LC4:
67 .string "(state->__count & 7) <= sizeof (state->__value)"
68 .align 8
69 .LC5:
70 .string "inlen_after <= sizeof (state->__value.__wchb)"
71 .align 8
72 .LC6:
73 .string "inptr - bytebuf > (state->__count & 7)"
74 .align 8
75 .LC7:
76 .string "inend != &bytebuf[MAX_NEEDED_INPUT]"
77 .align 8
78 .LC8:
79 .string "inend - inptr > (state->__count & ~7)"
80 .align 8
81 .LC9:
82 .string "inend - inptr <= sizeof (state->__value.__wchb)"
83 .section .rodata.str1.1
84 .LC10:
85 .string "outbuf == outerr"
86 .section .rodata.str1.8
87 .align 8
88 .LC11:
89 .string "nstatus == __GCONV_FULL_OUTPUT"
90 .align 8
91 .LC12:
92 .string "cnt_after <= sizeof (data->__statep->__value.__wchb)"
93 .text
94 .p2align 4,,15
95 .globl gconv
96 .type gconv, @function
97 gconv:
98 pushq %r15
99 pushq %r14
100 movq %rdi, %rax
101 pushq %r13
102 pushq %r12
103 movq %rsi, %r12
104 pushq %rbp
105 pushq %rbx
106 leaq 104(%rdi), %rsi
107 movq %rcx, %rbp
108 subq $152, %rsp
109 movl 16(%r12), %r15d
110 movq %rdi, 40(%rsp)
111 leaq 48(%r12), %rdi
112 movq %rdx, (%rsp)
113 movq %r8, 48(%rsp)
114 movq %r9, 16(%rsp)
115 testb $1, %r15b
116 movl 208(%rsp), %ebx
117 movq %rsi, 72(%rsp)
118 movq %rdi, 64(%rsp)
119 movq $0, 24(%rsp)
120 jne .L9
121 cmpq $0, 104(%rax)
122 movq 144(%rax), %rsi
123 movq %rsi, 24(%rsp)
124 je .L9
125 movq %rsi, %rax
126 #APP
127 # 410 "../iconv/skeleton.c" 1
128 ror $2*8+1, %rax
129 xor %fs:48, %rax
130 # 0 "" 2
131 #NO_APP
132 movq %rax, 24(%rsp)
133 .L9:
134 testl %ebx, %ebx
135 jne .L201
136 movq (%rsp), %rax
137 movq 48(%rsp), %rbx
138 leaq 112(%rsp), %rdx
139 movl 216(%rsp), %r14d
140 testq %rbx, %rbx
141 movq (%rax), %r13
142 movq %rbx, %rax
143 cmove %r12, %rax
144 cmpq $0, 16(%rsp)
145 movq (%rax), %r11
146 movq 8(%r12), %rax
147 movq $0, 112(%rsp)
148 movq %rax, 8(%rsp)
149 movl $0, %eax
150 cmovne %rdx, %rax
151 testl %r14d, %r14d
152 movq %rax, 80(%rsp)
153 movq 40(%rsp), %rax
154 setne 103(%rsp)
155 movzbl 103(%rsp), %edi
156 movq 96(%rax), %rax
157 testq %rax, %rax
158 je .L111
159 testb %dil, %dil
160 je .L111
161 movq 32(%r12), %r14
162 movl (%r14), %edx
163 andl $7, %edx
164 jne .L202
165 .L111:
166 movq $0, 32(%rsp)
167 .L16:
168 leaq to_ucs4(%rip), %r14
169 movq %r11, %r15
170 .p2align 4,,10
171 .p2align 3
172 .L100:
173 movq 16(%rsp), %rdi
174 testq %rdi, %rdi
175 je .L48
176 movq (%rdi), %rdi
177 addq %rdi, 32(%rsp)
178 .L48:
179 testq %rax, %rax
180 je .L203
181 leaq 136(%rsp), %rax
182 movl 16(%r12), %r10d
183 movq %r15, %rbx
184 movq %r13, 128(%rsp)
185 movq %r13, %rdi
186 movl $4, %r11d
187 movq %rax, 56(%rsp)
188 leaq 128(%rsp), %rax
189 movq %r15, 136(%rsp)
190 movq %rax, 88(%rsp)
191 .L54:
192 cmpq %rdi, %rbp
193 je .L55
194 .L65:
195 leaq 4(%rdi), %rax
196 cmpq %rax, %rbp
197 jb .L117
198 cmpq %rbx, 8(%rsp)
199 jbe .L118
200 movl (%rdi), %r8d
201 cmpl $65534, %r8d
202 ja .L56
203 cmpl $201, %r8d
204 movl $233, %edx
205 leaq from_idx(%rip), %rsi
206 ja .L57
207 jmp .L204
208 .p2align 4,,10
209 .p2align 3
210 .L205:
211 movzwl 10(%rcx), %edx
212 movq %rcx, %rsi
213 .L57:
214 cmpl %edx, %r8d
215 leaq 8(%rsi), %rcx
216 ja .L205
217 movzwl (%rcx), %eax
218 cmpl %eax, %r8d
219 jb .L59
220 movl %r8d, %edx
221 addl 12(%rsi), %edx
222 .L58:
223 leaq from_ucs4(%rip), %rax
224 movzbl (%rax,%rdx), %eax
225 testb %al, %al
226 jne .L136
227 testl %r8d, %r8d
228 jne .L59
229 .L136:
230 leaq 1(%rbx), %rdx
231 movq %rdx, 136(%rsp)
232 movb %al, (%rbx)
233 movq 128(%rsp), %rax
234 movq 136(%rsp), %rbx
235 leaq 4(%rax), %rdi
236 cmpq %rdi, %rbp
237 movq %rdi, 128(%rsp)
238 jne .L65
239 .p2align 4,,10
240 .p2align 3
241 .L55:
242 cmpq $0, 48(%rsp)
243 movq (%rsp), %rax
244 movq %rdi, (%rax)
245 jne .L206
246 .L66:
247 addl $1, 20(%r12)
248 testb $1, 16(%r12)
249 jne .L207
250 cmpq %rbx, %r15
251 jnb .L122
252 movq 24(%rsp), %rdi
253 movq (%r12), %rax
254 movl %r11d, 56(%rsp)
255 movq %rax, 120(%rsp)
256 call _dl_mcount_wrapper_check@PLT
257 movl 216(%rsp), %edi
258 leaq 120(%rsp), %rdx
259 xorl %r8d, %r8d
260 movq %rbx, %rcx
261 pushq %rdi
262 pushq $0
263 movq 32(%rsp), %r9
264 movq 80(%rsp), %rsi
265 movq 88(%rsp), %rdi
266 movq 40(%rsp), %rax
267 call *%rax
268 popq %rsi
269 cmpl $4, %eax
270 movl %eax, %r10d
271 popq %rdi
272 movl 56(%rsp), %r11d
273 je .L70
274 movq 120(%rsp), %r11
275 cmpq %rbx, %r11
276 jne .L208
277 .L69:
278 testl %r10d, %r10d
279 jne .L132
280 .L99:
281 movq 112(%rsp), %rax
282 movq (%rsp), %rbx
283 movq (%r12), %r15
284 movq %rax, 32(%rsp)
285 movq 40(%rsp), %rax
286 movq (%rbx), %r13
287 movq 96(%rax), %rax
288 jmp .L100
289 .p2align 4,,10
290 .p2align 3
291 .L56:
292 shrl $7, %r8d
293 cmpl $7168, %r8d
294 je .L209
295 .L59:
296 cmpq $0, 80(%rsp)
297 je .L121
298 testb $8, 16(%r12)
299 jne .L210
300 .L63:
301 testb $2, %r10b
302 jne .L211
303 .L121:
304 movl $6, %r11d
305 jmp .L55
306 .p2align 4,,10
307 .p2align 3
308 .L203:
309 cmpq %r13, %rbp
310 je .L114
311 movq 8(%rsp), %rax
312 leaq 4(%r15), %rdx
313 cmpq %rax, %rdx
314 ja .L115
315 subq %r15, %rax
316 subq $4, %rax
317 shrq $2, %rax
318 leaq 1(%r13,%rax), %rcx
319 movq %r13, %rax
320 .p2align 4,,10
321 .p2align 3
322 .L51:
323 movq %rdx, %rbx
324 movzbl (%rax), %edx
325 addq $1, %rax
326 cmpq %rax, %rbp
327 movl (%r14,%rdx,4), %edx
328 movl %edx, -4(%rbx)
329 je .L212
330 cmpq %rcx, %rax
331 leaq 4(%rbx), %rdx
332 jne .L51
333 movl $5, %r11d
334 .L50:
335 cmpq $0, 48(%rsp)
336 movq (%rsp), %rax
337 movq %rcx, (%rax)
338 je .L66
339 .L206:
340 movq 48(%rsp), %rax
341 movl %r11d, %r9d
342 movq %rbx, (%rax)
343 .L8:
344 addq $152, %rsp
345 movl %r9d, %eax
346 popq %rbx
347 popq %rbp
348 popq %r12
349 popq %r13
350 popq %r14
351 popq %r15
353 .p2align 4,,10
354 .p2align 3
355 .L70:
356 cmpl $5, %r11d
357 movl %r11d, %r10d
358 jne .L69
359 jmp .L99
360 .p2align 4,,10
361 .p2align 3
362 .L204:
363 movl %r8d, %edx
364 jmp .L58
365 .p2align 4,,10
366 .p2align 3
367 .L117:
368 movl $7, %r11d
369 jmp .L55
370 .p2align 4,,10
371 .p2align 3
372 .L118:
373 movl $5, %r11d
374 jmp .L55
375 .p2align 4,,10
376 .p2align 3
377 .L210:
378 movl %r10d, 104(%rsp)
379 subq $8, %rsp
380 movq %rbp, %r8
381 pushq 88(%rsp)
382 movq 16(%rsp), %rax
383 movq %r12, %rsi
384 movq 56(%rsp), %rdi
385 movq 72(%rsp), %r9
386 movq 104(%rsp), %rcx
387 movq (%rax), %rdx
388 call __gconv_transliterate@PLT
389 popq %r8
390 cmpl $6, %eax
391 movl %eax, %r11d
392 popq %r9
393 movq 128(%rsp), %rdi
394 movq 136(%rsp), %rbx
395 movl 104(%rsp), %r10d
396 je .L63
397 cmpl $5, %eax
398 jne .L54
399 jmp .L55
400 .p2align 4,,10
401 .p2align 3
402 .L212:
403 movq %rbp, %rcx
404 movl $4, %r11d
405 jmp .L50
406 .p2align 4,,10
407 .p2align 3
408 .L211:
409 movq 80(%rsp), %rax
410 addq $4, %rdi
411 movl $6, %r11d
412 movq %rdi, 128(%rsp)
413 addq $1, (%rax)
414 jmp .L54
415 .L207:
416 movq %rbx, (%r12)
417 movq 16(%rsp), %rbx
418 movl %r11d, %r9d
419 movq 112(%rsp), %rax
420 addq %rax, (%rbx)
421 .L68:
422 movq 40(%rsp), %rax
423 cmpq $0, 96(%rax)
424 setne %al
425 testb %al, 103(%rsp)
426 je .L8
427 cmpl $7, %r9d
428 jne .L8
429 movq (%rsp), %rax
430 movq (%rax), %rsi
431 movq %rbp, %rax
432 subq %rsi, %rax
433 cmpq $4, %rax
434 ja .L102
435 xorl %edx, %edx
436 testq %rax, %rax
437 movq 32(%r12), %rcx
438 je .L104
439 .L103:
440 movzbl (%rsi,%rdx), %edi
441 movb %dil, 4(%rcx,%rdx)
442 addq $1, %rdx
443 cmpq %rdx, %rax
444 jne .L103
445 .L104:
446 movl (%rcx), %edx
447 movq (%rsp), %rbx
448 andl $-8, %edx
449 movq %rbp, (%rbx)
450 orl %edx, %eax
451 movl %eax, (%rcx)
452 jmp .L8
453 .p2align 4,,10
454 .p2align 3
455 .L122:
456 movl %r11d, %r10d
457 jmp .L69
458 .L208:
459 movq 16(%rsp), %rdi
460 xorl %eax, %eax
461 testq %rdi, %rdi
462 je .L72
463 movq (%rdi), %rax
464 .L72:
465 addq 112(%rsp), %rax
466 cmpq 32(%rsp), %rax
467 movq (%rsp), %rax
468 je .L213
469 movq %r13, (%rax)
470 movq 40(%rsp), %rax
471 cmpq $0, 96(%rax)
472 je .L214
473 leaq 136(%rsp), %rsi
474 leaq 128(%rsp), %rdi
475 movl 16(%r12), %ebx
476 movq %r13, 128(%rsp)
477 movq %r15, 136(%rsp)
478 movq %r15, %r8
479 movl $4, %eax
480 movq %rsi, 32(%rsp)
481 movq %rdi, 56(%rsp)
482 .L85:
483 cmpq %r13, %rbp
484 je .L215
485 leaq 4(%r13), %rdx
486 cmpq %rdx, %rbp
487 jb .L125
488 cmpq %r8, %r11
489 jbe .L129
490 movl 0(%r13), %edi
491 cmpl $65534, %edi
492 ja .L87
493 cmpl $201, %edi
494 movl $233, %edx
495 leaq from_idx(%rip), %rsi
496 ja .L88
497 jmp .L216
498 .p2align 4,,10
499 .p2align 3
500 .L217:
501 movzwl 10(%rcx), %edx
502 movq %rcx, %rsi
503 .L88:
504 cmpl %edx, %edi
505 leaq 8(%rsi), %rcx
506 ja .L217
507 movzwl (%rcx), %edx
508 cmpl %edx, %edi
509 jb .L90
510 movl %edi, %edx
511 addl 12(%rsi), %edx
512 .L89:
513 leaq from_ucs4(%rip), %rsi
514 movzbl (%rsi,%rdx), %edx
515 testb %dl, %dl
516 jne .L137
517 testl %edi, %edi
518 jne .L90
519 .L137:
520 leaq 1(%r8), %rcx
521 movq %rcx, 136(%rsp)
522 movb %dl, (%r8)
523 movq 128(%rsp), %rdi
524 movq 136(%rsp), %r8
525 leaq 4(%rdi), %r13
526 movq %r13, 128(%rsp)
527 jmp .L85
528 .L202:
529 testq %rbx, %rbx
530 jne .L218
531 cmpl $4, %edx
532 movq %r13, 128(%rsp)
533 movq %r11, 136(%rsp)
534 ja .L18
535 leaq 120(%rsp), %r10
536 movslq %edx, %rax
537 xorl %ebx, %ebx
538 .L19:
539 movzbl 4(%r14,%rbx), %edx
540 movb %dl, (%r10,%rbx)
541 addq $1, %rbx
542 cmpq %rbx, %rax
543 jne .L19
544 movq %r13, %rax
545 subq %rbx, %rax
546 addq $4, %rax
547 cmpq %rax, %rbp
548 jb .L219
549 cmpq 8(%rsp), %r11
550 movl $5, %r9d
551 jnb .L8
552 leaq 1(%r13), %rax
553 leaq 119(%rsp), %rsi
554 .L27:
555 movq %rax, 128(%rsp)
556 movzbl -1(%rax), %ecx
557 addq $1, %rbx
558 movq %rax, %rdx
559 addq $1, %rax
560 cmpq $3, %rbx
561 movb %cl, (%rsi,%rbx)
562 ja .L134
563 cmpq %rdx, %rbp
564 ja .L27
565 .L134:
566 movl 120(%rsp), %ecx
567 movq %r10, 128(%rsp)
568 cmpl $65534, %ecx
569 ja .L29
570 cmpl $201, %ecx
571 movl $233, %eax
572 leaq from_idx(%rip), %rsi
573 ja .L30
574 jmp .L220
575 .p2align 4,,10
576 .p2align 3
577 .L221:
578 movzwl 10(%rdx), %eax
579 movq %rdx, %rsi
580 .L30:
581 cmpl %eax, %ecx
582 leaq 8(%rsi), %rdx
583 ja .L221
584 movzwl (%rdx), %eax
585 cmpl %eax, %ecx
586 jb .L32
587 movl %ecx, %eax
588 addl 12(%rsi), %eax
589 .L31:
590 leaq from_ucs4(%rip), %rdx
591 testl %ecx, %ecx
592 movzbl (%rdx,%rax), %eax
593 je .L135
594 testb %al, %al
595 jne .L135
596 .L32:
597 cmpq $0, 80(%rsp)
598 je .L113
599 testb $8, %r15b
600 jne .L222
601 andl $2, %r15d
602 je .L113
603 movq %r10, %rax
604 .L106:
605 movq 80(%rsp), %rbx
606 addq $4, %rax
607 movq %rax, 128(%rsp)
608 addq $1, (%rbx)
609 .L40:
610 cmpq %r10, %rax
611 jne .L33
612 .L113:
613 movl $6, %r9d
614 jmp .L8
615 .p2align 4,,10
616 .p2align 3
617 .L209:
618 movq %rax, 128(%rsp)
619 movq %rax, %rdi
620 jmp .L54
621 .L213:
622 movq 40(%rsp), %rsi
623 subq %r11, %rbx
624 movq (%rax), %rax
625 cmpq $0, 96(%rsi)
626 je .L223
627 salq $2, %rbx
628 subq %rbx, %rax
629 movq (%rsp), %rbx
630 movq %rax, (%rbx)
631 jmp .L69
632 .L135:
633 leaq 1(%r11), %rdx
634 movq %rdx, 136(%rsp)
635 movb %al, (%r11)
636 movq 128(%rsp), %rax
637 addq $4, %rax
638 cmpq %r10, %rax
639 movq %rax, 128(%rsp)
640 je .L194
641 .L33:
642 movl (%r14), %edx
643 subq %r10, %rax
644 movl %edx, %ecx
645 andl $7, %ecx
646 cmpq %rcx, %rax
647 jle .L224
648 movq (%rsp), %rbx
649 subq %rcx, %rax
650 andl $-8, %edx
651 movq 136(%rsp), %r11
652 addq (%rbx), %rax
653 movq %rax, (%rbx)
654 movq %rax, %r13
655 movq 112(%rsp), %rax
656 movl %edx, (%r14)
657 movq %rax, 32(%rsp)
658 movq 40(%rsp), %rax
659 movq 96(%rax), %rax
660 jmp .L16
661 .L115:
662 movq %r13, %rcx
663 movq %r15, %rbx
664 movl $5, %r11d
665 jmp .L50
666 .L201:
667 cmpq $0, 48(%rsp)
668 jne .L225
669 movq 32(%r12), %rax
670 xorl %r9d, %r9d
671 movq $0, (%rax)
672 testb $1, 16(%r12)
673 jne .L8
674 movq 24(%rsp), %r14
675 movq %r14, %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 80(%rsp), %rsi
685 movq 88(%rsp), %rdi
686 call *%r14
687 popq %r15
688 movl %eax, %r9d
689 popq %rax
690 jmp .L8
691 .L114:
692 movq %rbp, %rcx
693 movq %r15, %rbx
694 movl $4, %r11d
695 jmp .L50
696 .L132:
697 movl %r10d, %r9d
698 jmp .L68
699 .L90:
700 cmpq $0, 80(%rsp)
701 je .L130
702 testb $8, 16(%r12)
703 jne .L226
704 .L94:
705 testb $2, %bl
706 jne .L227
707 .L130:
708 movl $6, %eax
709 .L86:
710 movq (%rsp), %rbx
711 movq 120(%rsp), %r11
712 movq %r13, (%rbx)
713 .L84:
714 cmpq %r11, %r8
715 jne .L78
716 cmpq $5, %rax
717 jne .L77
718 cmpq %r8, %r15
719 jne .L69
720 .L80:
721 subl $1, 20(%r12)
722 jmp .L69
723 .L226:
724 movq %r11, 104(%rsp)
725 movl %r10d, 88(%rsp)
726 subq $8, %rsp
727 pushq 88(%rsp)
728 movq 16(%rsp), %rax
729 movq %rbp, %r8
730 movq 48(%rsp), %r9
731 movq 72(%rsp), %rcx
732 movq %r12, %rsi
733 movq 56(%rsp), %rdi
734 movq (%rax), %rdx
735 call __gconv_transliterate@PLT
736 popq %rdx
737 cmpl $6, %eax
738 popq %rcx
739 movq 128(%rsp), %r13
740 movq 136(%rsp), %r8
741 movl 88(%rsp), %r10d
742 movq 104(%rsp), %r11
743 je .L94
744 cmpl $5, %eax
745 jne .L85
746 .L129:
747 movl $5, %eax
748 jmp .L86
749 .L214:
750 cmpq %r13, %rbp
751 je .L228
752 leaq 4(%r15), %rax
753 cmpq %r11, %rax
754 ja .L229
755 movq %r11, %rdx
756 subq %r15, %rdx
757 subq $4, %rdx
758 shrq $2, %rdx
759 leaq 1(%r13,%rdx), %rdx
760 .L81:
761 movq %rax, %r8
762 movzbl 0(%r13), %eax
763 addq $1, %r13
764 cmpq %r13, %rbp
765 movl (%r14,%rax,4), %eax
766 movl %eax, -4(%r8)
767 je .L230
768 cmpq %rdx, %r13
769 leaq 4(%r8), %rax
770 jne .L81
771 movl $5, %eax
772 .L82:
773 movq (%rsp), %rbx
774 movq %rdx, (%rbx)
775 jmp .L84
776 .L216:
777 movl %edi, %edx
778 jmp .L89
779 .L125:
780 movl $7, %eax
781 jmp .L86
782 .L87:
783 shrl $7, %edi
784 cmpl $7168, %edi
785 jne .L90
786 movq %rdx, 128(%rsp)
787 movq %rdx, %r13
788 jmp .L85
789 .L223:
790 leaq 3(%rbx), %rdx
791 testq %rbx, %rbx
792 cmovs %rdx, %rbx
793 sarq $2, %rbx
794 subq %rbx, %rax
795 movq (%rsp), %rbx
796 movq %rax, (%rbx)
797 jmp .L69
798 .L219:
799 movq (%rsp), %rax
800 movq %rbp, (%rax)
801 movq %rbp, %rax
802 subq %r13, %rax
803 addq %rbx, %rax
804 cmpq $4, %rax
805 ja .L21
806 cmpq %rax, %rbx
807 leaq 1(%r13), %rdx
808 jnb .L23
809 .L24:
810 movq %rdx, 128(%rsp)
811 movzbl -1(%rdx), %ecx
812 addq $1, %rdx
813 movb %cl, 4(%r14,%rbx)
814 addq $1, %rbx
815 cmpq %rbx, %rax
816 jne .L24
817 .L23:
818 movl $7, %r9d
819 jmp .L8
820 .L230:
821 movq %rbp, %rdx
822 movl $4, %eax
823 jmp .L82
824 .L227:
825 movq 80(%rsp), %rax
826 addq $4, %r13
827 movq %r13, 128(%rsp)
828 addq $1, (%rax)
829 movl $6, %eax
830 jmp .L85
831 .L220:
832 movl %ecx, %eax
833 jmp .L31
834 .L29:
835 shrl $7, %ecx
836 cmpl $7168, %ecx
837 jne .L32
838 leaq 4(%r10), %rax
839 movq %rax, 128(%rsp)
840 jmp .L33
841 .p2align 4,,10
842 .p2align 3
843 .L215:
844 cltq
845 movq %rbp, %r13
846 jmp .L86
847 .L43:
848 testl %r9d, %r9d
849 jne .L8
850 .L194:
851 movq 112(%rsp), %rax
852 movq (%rsp), %rbx
853 movq %rax, 32(%rsp)
854 movq 40(%rsp), %rax
855 movq (%rbx), %r13
856 movq 96(%rax), %rax
857 jmp .L16
858 .L229:
859 cmpq %r15, %r11
860 je .L80
861 .L78:
862 leaq __PRETTY_FUNCTION__.9153(%rip), %rcx
863 leaq .LC1(%rip), %rsi
864 leaq .LC10(%rip), %rdi
865 movl $746, %edx
866 call __assert_fail@PLT
867 .p2align 4,,10
868 .p2align 3
869 .L222:
870 leaq (%r10,%rbx), %rax
871 movq %r11, 88(%rsp)
872 movq %r10, 56(%rsp)
873 leaq 128(%rsp), %rcx
874 subq $8, %rsp
875 movq %r13, %rdx
876 movq %rax, 40(%rsp)
877 pushq 88(%rsp)
878 movq %rax, %r8
879 movq 56(%rsp), %rdi
880 movq %r12, %rsi
881 leaq 152(%rsp), %r9
882 call __gconv_transliterate@PLT
883 popq %r10
884 cmpl $6, %eax
885 movl %eax, %r9d
886 popq %r11
887 movq 56(%rsp), %r10
888 movq 88(%rsp), %r11
889 movq 128(%rsp), %rax
890 je .L231
891 cmpq %r10, %rax
892 jne .L33
893 cmpl $7, %r9d
894 jne .L43
895 leaq 4(%r10), %rax
896 cmpq %rax, 32(%rsp)
897 je .L232
898 movl (%r14), %eax
899 movq (%rsp), %rdi
900 movq %rbx, %rsi
901 movl %eax, %edx
902 andl $-8, %eax
903 andl $7, %edx
904 subq %rdx, %rsi
905 movslq %eax, %rdx
906 addq %rsi, (%rdi)
907 cmpq %rdx, %rbx
908 jle .L233
909 cmpq $4, %rbx
910 ja .L234
911 orl %ebx, %eax
912 testq %rbx, %rbx
913 movl %eax, (%r14)
914 je .L23
915 xorl %eax, %eax
916 .L47:
917 movzbl (%r10,%rax), %edx
918 movb %dl, 4(%r14,%rax)
919 addq $1, %rax
920 cmpq %rax, %rbx
921 jne .L47
922 jmp .L23
923 .p2align 4,,10
924 .p2align 3
925 .L228:
926 movq %r11, %r10
927 cmpq %r15, %r10
928 jne .L78
929 .L77:
930 leaq __PRETTY_FUNCTION__.9153(%rip), %rcx
931 leaq .LC1(%rip), %rsi
932 leaq .LC11(%rip), %rdi
933 movl $747, %edx
934 call __assert_fail@PLT
935 .L234:
936 leaq __PRETTY_FUNCTION__.9074(%rip), %rcx
937 leaq .LC3(%rip), %rsi
938 leaq .LC9(%rip), %rdi
939 movl $488, %edx
940 call __assert_fail@PLT
941 .L233:
942 leaq __PRETTY_FUNCTION__.9074(%rip), %rcx
943 leaq .LC3(%rip), %rsi
944 leaq .LC8(%rip), %rdi
945 movl $487, %edx
946 call __assert_fail@PLT
947 .L232:
948 leaq __PRETTY_FUNCTION__.9074(%rip), %rcx
949 leaq .LC3(%rip), %rsi
950 leaq .LC7(%rip), %rdi
951 movl $477, %edx
952 call __assert_fail@PLT
953 .L231:
954 andb $2, %r15b
955 je .L40
956 jmp .L106
957 .L224:
958 leaq __PRETTY_FUNCTION__.9074(%rip), %rcx
959 leaq .LC3(%rip), %rsi
960 leaq .LC6(%rip), %rdi
961 movl $459, %edx
962 call __assert_fail@PLT
963 .L21:
964 leaq __PRETTY_FUNCTION__.9074(%rip), %rcx
965 leaq .LC3(%rip), %rsi
966 leaq .LC5(%rip), %rdi
967 movl $424, %edx
968 call __assert_fail@PLT
969 .L102:
970 leaq __PRETTY_FUNCTION__.9153(%rip), %rcx
971 leaq .LC1(%rip), %rsi
972 leaq .LC12(%rip), %rdi
973 movl $799, %edx
974 call __assert_fail@PLT
975 .L225:
976 leaq __PRETTY_FUNCTION__.9153(%rip), %rcx
977 leaq .LC1(%rip), %rsi
978 leaq .LC2(%rip), %rdi
979 movl $420, %edx
980 call __assert_fail@PLT
981 .L18:
982 leaq __PRETTY_FUNCTION__.9074(%rip), %rcx
983 leaq .LC3(%rip), %rsi
984 leaq .LC4(%rip), %rdi
985 movl $395, %edx
986 call __assert_fail@PLT
987 .L218:
988 leaq __PRETTY_FUNCTION__.9153(%rip), %rcx
989 leaq .LC1(%rip), %rsi
990 leaq .LC2(%rip), %rdi
991 movl $564, %edx
992 call __assert_fail@PLT
993 .size gconv, .-gconv
994 .section .rodata.str1.8
995 .align 8
996 .type __PRETTY_FUNCTION__.9074, @object
997 .size __PRETTY_FUNCTION__.9074, 14
998 __PRETTY_FUNCTION__.9074:
999 .string "to_gap_single"
1000 .section .rodata.str1.1
1001 .type __PRETTY_FUNCTION__.9153, @object
1002 .size __PRETTY_FUNCTION__.9153, 6
1003 __PRETTY_FUNCTION__.9153:
1004 .string "gconv"
1005 .section .rodata
1006 .align 32
1007 .type from_ucs4, @object
1008 .size from_ucs4, 449
1009 from_ucs4:
1010 .byte 0
1011 .byte 1
1012 .byte 2
1013 .byte 3
1014 .byte 4
1015 .byte 5
1016 .byte 6
1017 .byte 7
1018 .byte 8
1019 .byte 9
1020 .byte 10
1021 .byte 11
1022 .byte 12
1023 .byte 13
1024 .byte 14
1025 .byte 15
1026 .byte 16
1027 .byte 17
1028 .byte 18
1029 .byte 19
1030 .byte 20
1031 .byte 21
1032 .byte 22
1033 .byte 23
1034 .byte 24
1035 .byte 25
1036 .byte 26
1037 .byte 27
1038 .byte 28
1039 .byte 29
1040 .byte 30
1041 .byte 31
1042 .byte 32
1043 .byte 33
1044 .byte 34
1045 .byte 35
1046 .byte 36
1047 .byte 37
1048 .byte 38
1049 .byte 39
1050 .byte 40
1051 .byte 41
1052 .byte 42
1053 .byte 43
1054 .byte 44
1055 .byte 45
1056 .byte 46
1057 .byte 47
1058 .byte 48
1059 .byte 49
1060 .byte 50
1061 .byte 51
1062 .byte 52
1063 .byte 53
1064 .byte 54
1065 .byte 55
1066 .byte 56
1067 .byte 57
1068 .byte 58
1069 .byte 59
1070 .byte 60
1071 .byte 61
1072 .byte 62
1073 .byte 63
1074 .byte 64
1075 .byte 65
1076 .byte 66
1077 .byte 67
1078 .byte 68
1079 .byte 69
1080 .byte 70
1081 .byte 71
1082 .byte 72
1083 .byte 73
1084 .byte 74
1085 .byte 75
1086 .byte 76
1087 .byte 77
1088 .byte 78
1089 .byte 79
1090 .byte 80
1091 .byte 81
1092 .byte 82
1093 .byte 83
1094 .byte 84
1095 .byte 85
1096 .byte 86
1097 .byte 87
1098 .byte 88
1099 .byte 89
1100 .byte 90
1101 .byte 91
1102 .byte 92
1103 .byte 93
1104 .byte 94
1105 .byte 95
1106 .byte 96
1107 .byte 97
1108 .byte 98
1109 .byte 99
1110 .byte 100
1111 .byte 101
1112 .byte 102
1113 .byte 103
1114 .byte 104
1115 .byte 105
1116 .byte 106
1117 .byte 107
1118 .byte 108
1119 .byte 109
1120 .byte 110
1121 .byte 111
1122 .byte 112
1123 .byte 113
1124 .byte 114
1125 .byte 115
1126 .byte 116
1127 .byte 117
1128 .byte 118
1129 .byte 119
1130 .byte 120
1131 .byte 121
1132 .byte 122
1133 .byte 123
1134 .byte 124
1135 .byte 125
1136 .byte 126
1137 .byte 127
1138 .byte -128
1139 .byte -127
1140 .byte -126
1141 .byte -125
1142 .byte -124
1143 .byte -123
1144 .byte -122
1145 .byte -121
1146 .byte -120
1147 .byte -119
1148 .byte -118
1149 .byte -117
1150 .byte -116
1151 .byte -115
1152 .byte -114
1153 .byte -113
1154 .byte -112
1155 .byte -111
1156 .byte -110
1157 .byte -109
1158 .byte -108
1159 .byte -107
1160 .byte -106
1161 .byte -105
1162 .byte -104
1163 .byte -103
1164 .byte -102
1165 .byte -101
1166 .byte -100
1167 .byte -99
1168 .byte -98
1169 .byte -97
1170 .byte -96
1171 .byte 0
1172 .byte -94
1173 .byte -93
1174 .byte 0
1175 .byte -114
1176 .byte -90
1177 .byte -89
1178 .byte 0
1179 .byte -87
1180 .byte 0
1181 .byte -85
1182 .byte -84
1183 .byte -83
1184 .byte -82
1185 .byte 0
1186 .byte -80
1187 .byte -79
1188 .byte -78
1189 .byte -77
1190 .byte 0
1191 .byte -75
1192 .byte -74
1193 .byte -73
1194 .byte 0
1195 .byte -71
1196 .byte 0
1197 .byte -69
1198 .byte -68
1199 .byte -67
1200 .byte -66
1201 .byte 0
1202 .byte 0
1203 .byte 0
1204 .byte 0
1205 .byte 0
1206 .byte -60
1207 .byte -59
1208 .byte -81
1209 .byte 0
1210 .byte 0
1211 .byte -55
1212 .byte -45
1213 .byte 0
1214 .byte -43
1215 .byte -42
1216 .byte -41
1217 .byte -88
1218 .byte 0
1219 .byte 0
1220 .byte 0
1221 .byte -36
1222 .byte 0
1223 .byte 0
1224 .byte -33
1225 .byte 0
1226 .byte 0
1227 .byte 0
1228 .byte 0
1229 .byte -28
1230 .byte -27
1231 .byte -65
1232 .byte 0
1233 .byte 0
1234 .byte -23
1235 .byte -13
1236 .byte 0
1237 .byte -11
1238 .byte -10
1239 .byte -9
1240 .byte -72
1241 .byte 0
1242 .byte 0
1243 .byte 0
1244 .byte -4
1245 .byte 0
1246 .byte 0
1247 .byte 0
1248 .byte -62
1249 .byte -30
1250 .byte 0
1251 .byte 0
1252 .byte -64
1253 .byte -32
1254 .byte -61
1255 .byte -29
1256 .byte 0
1257 .byte 0
1258 .byte 0
1259 .byte 0
1260 .byte -56
1261 .byte -24
1262 .byte 0
1263 .byte 0
1264 .byte 0
1265 .byte 0
1266 .byte -57
1267 .byte -25
1268 .byte 0
1269 .byte 0
1270 .byte -53
1271 .byte -21
1272 .byte -58
1273 .byte -26
1274 .byte -52
1275 .byte -20
1276 .byte -50
1277 .byte -18
1278 .byte 0
1279 .byte 0
1280 .byte -63
1281 .byte -31
1282 .byte -51
1283 .byte -19
1284 .byte 0
1285 .byte 0
1286 .byte 0
1287 .byte -49
1288 .byte -17
1289 .byte 0
1290 .byte 0
1291 .byte 0
1292 .byte 0
1293 .byte -39
1294 .byte -7
1295 .byte -47
1296 .byte -15
1297 .byte -46
1298 .byte -14
1299 .byte 0
1300 .byte 0
1301 .byte 0
1302 .byte 0
1303 .byte 0
1304 .byte -44
1305 .byte -12
1306 .byte -86
1307 .byte -70
1308 .byte 0
1309 .byte 0
1310 .byte -38
1311 .byte -6
1312 .byte 0
1313 .byte 0
1314 .byte 0
1315 .byte 0
1316 .byte -48
1317 .byte -16
1318 .byte -37
1319 .byte -5
1320 .byte -40
1321 .byte -8
1322 .byte 0
1323 .byte 0
1324 .byte 0
1325 .byte 0
1326 .byte 0
1327 .byte -54
1328 .byte -22
1329 .byte -35
1330 .byte -3
1331 .byte -34
1332 .byte -2
1333 .byte -105
1334 .byte 0
1335 .byte -1
1336 .byte 0
1337 .byte 0
1338 .byte -76
1339 .byte -95
1340 .byte -91
1341 .byte 0
1342 .byte 0
1343 .byte 0
1344 .byte 7
1345 .byte 19
1346 .byte 0
1347 .byte -97
1348 .byte -92
1349 .byte 27
1350 .byte 24
1351 .byte 26
1352 .byte 25
1353 .byte 29
1354 .byte 18
1355 .byte 23
1356 .byte 28
1357 .byte -108
1358 .byte 0
1359 .byte -125
1360 .byte -122
1361 .byte 0
1362 .byte 0
1363 .byte 0
1364 .byte -113
1365 .byte 0
1366 .byte 0
1367 .byte 0
1368 .byte -112
1369 .byte 0
1370 .byte 0
1371 .byte 0
1372 .byte -123
1373 .byte 0
1374 .byte 0
1375 .byte 0
1376 .byte -109
1377 .byte -124
1378 .byte -110
1379 .byte -111
1380 .byte -107
1381 .byte -99
1382 .byte -118
1383 .byte 0
1384 .byte 0
1385 .byte -103
1386 .byte 0
1387 .byte 0
1388 .byte -117
1389 .byte 0
1390 .byte 0
1391 .byte -104
1392 .byte 0
1393 .byte 0
1394 .byte -116
1395 .byte 0
1396 .byte 0
1397 .byte -100
1398 .byte 0
1399 .byte 0
1400 .byte -119
1401 .byte 0
1402 .byte 0
1403 .byte -101
1404 .byte 0
1405 .byte 0
1406 .byte -102
1407 .byte 0
1408 .byte 0
1409 .byte -98
1410 .byte -115
1411 .byte 0
1412 .byte 0
1413 .byte 0
1414 .byte -120
1415 .byte 0
1416 .byte 0
1417 .byte 0
1418 .byte -121
1419 .byte -128
1420 .byte -127
1421 .byte -126
1422 .byte -106
1423 .byte 22
1424 .byte 0
1425 .byte 0
1426 .byte 0
1427 .byte 0
1428 .byte 0
1429 .byte 30
1430 .byte 16
1431 .byte 0
1432 .byte 31
1433 .byte 17
1434 .byte 9
1435 .byte 8
1436 .byte 10
1437 .byte 1
1438 .byte 2
1439 .byte 15
1440 .byte 0
1441 .byte 0
1442 .byte 0
1443 .byte 12
1444 .byte 0
1445 .byte 11
1446 .byte 6
1447 .byte 0
1448 .byte 0
1449 .byte 5
1450 .byte 0
1451 .byte 3
1452 .byte 4
1453 .byte 0
1454 .byte 0
1455 .byte 0
1456 .byte 13
1457 .byte 0
1458 .byte 14
1459 .align 32
1460 .type from_idx, @object
1461 .size from_idx, 264
1462 from_idx:
1463 .value 0
1464 .value 201
1465 .long 0
1466 .value 211
1467 .value 233
1468 .long -9
1469 .value 243
1470 .value 281
1471 .long -18
1472 .value 290
1473 .value 291
1474 .long -26
1475 .value 298
1476 .value 303
1477 .long -32
1478 .value 310
1479 .value 333
1480 .long -38
1481 .value 342
1482 .value 353
1483 .long -46
1484 .value 362
1485 .value 363
1486 .long -54
1487 .value 370
1488 .value 382
1489 .long -60
1490 .value 8215
1491 .value 8226
1492 .long -7892
1493 .value 8252
1494 .value 8254
1495 .long -7917
1496 .value 8364
1497 .value 8364
1498 .long -8026
1499 .value 8592
1500 .value 8597
1501 .long -8253
1502 .value 8616
1503 .value 8616
1504 .long -8271
1505 .value 8735
1506 .value 8735
1507 .long -8389
1508 .value 9472
1509 .value 9474
1510 .long -9125
1511 .value 9484
1512 .value 9500
1513 .long -9134
1514 .value 9508
1515 .value 9508
1516 .long -9141
1517 .value 9516
1518 .value 9516
1519 .long -9148
1520 .value 9524
1521 .value 9524
1522 .long -9155
1523 .value 9532
1524 .value 9532
1525 .long -9162
1526 .value 9552
1527 .value 9580
1528 .long -9181
1529 .value 9600
1530 .value 9608
1531 .long -9200
1532 .value 9617
1533 .value 9619
1534 .long -9208
1535 .value 9632
1536 .value 9632
1537 .long -9220
1538 .value 9644
1539 .value 9650
1540 .long -9231
1541 .value 9658
1542 .value 9660
1543 .long -9238
1544 .value 9668
1545 .value 9668
1546 .long -9245
1547 .value 9675
1548 .value 9675
1549 .long -9251
1550 .value 9688
1551 .value 9689
1552 .long -9263
1553 .value 9786
1554 .value 9794
1555 .long -9359
1556 .value 9824
1557 .value 9836
1558 .long -9388
1559 .value -1
1560 .value -1
1561 .long 0
1562 .align 32
1563 .type to_ucs4, @object
1564 .size to_ucs4, 1024
1565 to_ucs4:
1566 .long 0
1567 .long 1
1568 .long 2
1569 .long 3
1570 .long 4
1571 .long 5
1572 .long 6
1573 .long 7
1574 .long 8
1575 .long 9
1576 .long 10
1577 .long 11
1578 .long 12
1579 .long 13
1580 .long 14
1581 .long 15
1582 .long 16
1583 .long 17
1584 .long 18
1585 .long 19
1586 .long 20
1587 .long 21
1588 .long 22
1589 .long 23
1590 .long 24
1591 .long 25
1592 .long 26
1593 .long 27
1594 .long 28
1595 .long 29
1596 .long 30
1597 .long 31
1598 .long 32
1599 .long 33
1600 .long 34
1601 .long 35
1602 .long 36
1603 .long 37
1604 .long 38
1605 .long 39
1606 .long 40
1607 .long 41
1608 .long 42
1609 .long 43
1610 .long 44
1611 .long 45
1612 .long 46
1613 .long 47
1614 .long 48
1615 .long 49
1616 .long 50
1617 .long 51
1618 .long 52
1619 .long 53
1620 .long 54
1621 .long 55
1622 .long 56
1623 .long 57
1624 .long 58
1625 .long 59
1626 .long 60
1627 .long 61
1628 .long 62
1629 .long 63
1630 .long 64
1631 .long 65
1632 .long 66
1633 .long 67
1634 .long 68
1635 .long 69
1636 .long 70
1637 .long 71
1638 .long 72
1639 .long 73
1640 .long 74
1641 .long 75
1642 .long 76
1643 .long 77
1644 .long 78
1645 .long 79
1646 .long 80
1647 .long 81
1648 .long 82
1649 .long 83
1650 .long 84
1651 .long 85
1652 .long 86
1653 .long 87
1654 .long 88
1655 .long 89
1656 .long 90
1657 .long 91
1658 .long 92
1659 .long 93
1660 .long 94
1661 .long 95
1662 .long 96
1663 .long 97
1664 .long 98
1665 .long 99
1666 .long 100
1667 .long 101
1668 .long 102
1669 .long 103
1670 .long 104
1671 .long 105
1672 .long 106
1673 .long 107
1674 .long 108
1675 .long 109
1676 .long 110
1677 .long 111
1678 .long 112
1679 .long 113
1680 .long 114
1681 .long 115
1682 .long 116
1683 .long 117
1684 .long 118
1685 .long 119
1686 .long 120
1687 .long 121
1688 .long 122
1689 .long 123
1690 .long 124
1691 .long 125
1692 .long 126
1693 .long 127
1694 .long 128
1695 .long 129
1696 .long 130
1697 .long 131
1698 .long 132
1699 .long 133
1700 .long 134
1701 .long 135
1702 .long 136
1703 .long 137
1704 .long 138
1705 .long 139
1706 .long 140
1707 .long 141
1708 .long 142
1709 .long 143
1710 .long 144
1711 .long 145
1712 .long 146
1713 .long 147
1714 .long 148
1715 .long 149
1716 .long 150
1717 .long 151
1718 .long 152
1719 .long 153
1720 .long 154
1721 .long 155
1722 .long 156
1723 .long 157
1724 .long 158
1725 .long 159
1726 .long 160
1727 .long 8221
1728 .long 162
1729 .long 163
1730 .long 8364
1731 .long 8222
1732 .long 166
1733 .long 167
1734 .long 216
1735 .long 169
1736 .long 342
1737 .long 171
1738 .long 172
1739 .long 173
1740 .long 174
1741 .long 198
1742 .long 176
1743 .long 177
1744 .long 178
1745 .long 179
1746 .long 8220
1747 .long 181
1748 .long 182
1749 .long 183
1750 .long 248
1751 .long 185
1752 .long 343
1753 .long 187
1754 .long 188
1755 .long 189
1756 .long 190
1757 .long 230
1758 .long 260
1759 .long 302
1760 .long 256
1761 .long 262
1762 .long 196
1763 .long 197
1764 .long 280
1765 .long 274
1766 .long 268
1767 .long 201
1768 .long 377
1769 .long 278
1770 .long 290
1771 .long 310
1772 .long 298
1773 .long 315
1774 .long 352
1775 .long 323
1776 .long 325
1777 .long 211
1778 .long 332
1779 .long 213
1780 .long 214
1781 .long 215
1782 .long 370
1783 .long 321
1784 .long 346
1785 .long 362
1786 .long 220
1787 .long 379
1788 .long 381
1789 .long 223
1790 .long 261
1791 .long 303
1792 .long 257
1793 .long 263
1794 .long 228
1795 .long 229
1796 .long 281
1797 .long 275
1798 .long 269
1799 .long 233
1800 .long 378
1801 .long 279
1802 .long 291
1803 .long 311
1804 .long 299
1805 .long 316
1806 .long 353
1807 .long 324
1808 .long 326
1809 .long 243
1810 .long 333
1811 .long 245
1812 .long 246
1813 .long 247
1814 .long 371
1815 .long 322
1816 .long 347
1817 .long 363
1818 .long 252
1819 .long 380
1820 .long 382
1821 .long 8217