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