clarify the purpose of this project
[nyanglibc.git] / wctype / wcfuncs.shared.s
blobf971b4a8750ac2754726c8e148b4343d2facafc4
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 __GI___iswalnum
9 .hidden __GI___iswalnum
10 .type __GI___iswalnum, @function
11 __GI___iswalnum:
12 testl $-128, %edi
13 je .L10
14 movq __libc_tsd_LOCALE@gottpoff(%rip), %rax
15 movq %fs:(%rax), %rax
16 movq (%rax), %rdx
17 movl 200(%rdx), %eax
18 addl $11, %eax
19 movzwl %ax, %eax
20 movq 64(%rdx,%rax,8), %rdx
21 movl %edi, %eax
22 movl (%rdx), %ecx
23 shrl %cl, %eax
24 movl %eax, %ecx
25 xorl %eax, %eax
26 cmpl 4(%rdx), %ecx
27 jnb .L1
28 addl $5, %ecx
29 movl (%rdx,%rcx,4), %esi
30 testl %esi, %esi
31 je .L1
32 movl 8(%rdx), %ecx
33 movl %edi, %r8d
34 shrl %cl, %r8d
35 movl %r8d, %ecx
36 andl 12(%rdx), %ecx
37 leaq (%rdx,%rcx,4), %rcx
38 movl (%rcx,%rsi), %ecx
39 testl %ecx, %ecx
40 je .L1
41 movl %edi, %eax
42 shrl $5, %eax
43 andl 16(%rdx), %eax
44 leaq (%rdx,%rax,4), %rax
45 movl (%rax,%rcx), %eax
46 movl %edi, %ecx
47 shrl %cl, %eax
48 andl $1, %eax
49 .L1:
50 rep ret
51 .p2align 4,,10
52 .p2align 3
53 .L10:
54 movq __libc_tsd_CTYPE_B@gottpoff(%rip), %rax
55 movl %edi, %edi
56 movq %fs:(%rax), %rax
57 movzwl (%rax,%rdi,2), %eax
58 andl $8, %eax
59 movzwl %ax, %eax
60 ret
61 .size __GI___iswalnum, .-__GI___iswalnum
62 .weak __GI_iswalnum
63 .hidden __GI_iswalnum
64 .set __GI_iswalnum,__GI___iswalnum
65 .weak iswalnum
66 .set iswalnum,__GI_iswalnum
67 .globl __iswalnum
68 .set __iswalnum,__GI___iswalnum
69 .p2align 4,,15
70 .globl __iswalpha
71 .type __iswalpha, @function
72 __iswalpha:
73 testl $-128, %edi
74 je .L19
75 movq __libc_tsd_LOCALE@gottpoff(%rip), %rax
76 movq %fs:(%rax), %rax
77 movq (%rax), %rdx
78 movl 200(%rdx), %eax
79 addl $2, %eax
80 movzwl %ax, %eax
81 movq 64(%rdx,%rax,8), %rdx
82 movl %edi, %eax
83 movl (%rdx), %ecx
84 shrl %cl, %eax
85 movl %eax, %ecx
86 xorl %eax, %eax
87 cmpl 4(%rdx), %ecx
88 jnb .L11
89 addl $5, %ecx
90 movl (%rdx,%rcx,4), %esi
91 testl %esi, %esi
92 je .L11
93 movl 8(%rdx), %ecx
94 movl %edi, %r8d
95 shrl %cl, %r8d
96 movl %r8d, %ecx
97 andl 12(%rdx), %ecx
98 leaq (%rdx,%rcx,4), %rcx
99 movl (%rcx,%rsi), %ecx
100 testl %ecx, %ecx
101 je .L11
102 movl %edi, %eax
103 shrl $5, %eax
104 andl 16(%rdx), %eax
105 leaq (%rdx,%rax,4), %rax
106 movl (%rax,%rcx), %eax
107 movl %edi, %ecx
108 shrl %cl, %eax
109 andl $1, %eax
110 .L11:
111 rep ret
112 .p2align 4,,10
113 .p2align 3
114 .L19:
115 movq __libc_tsd_CTYPE_B@gottpoff(%rip), %rax
116 movl %edi, %edi
117 movq %fs:(%rax), %rax
118 movzwl (%rax,%rdi,2), %eax
119 andw $1024, %ax
120 movzwl %ax, %eax
122 .size __iswalpha, .-__iswalpha
123 .weak __GI_iswalpha
124 .hidden __GI_iswalpha
125 .set __GI_iswalpha,__iswalpha
126 .weak iswalpha
127 .set iswalpha,__GI_iswalpha
128 .p2align 4,,15
129 .globl __iswblank
130 .type __iswblank, @function
131 __iswblank:
132 testl $-128, %edi
133 je .L28
134 movq __libc_tsd_LOCALE@gottpoff(%rip), %rax
135 movq %fs:(%rax), %rax
136 movq (%rax), %rdx
137 movl 200(%rdx), %eax
138 addl $8, %eax
139 movzwl %ax, %eax
140 movq 64(%rdx,%rax,8), %rdx
141 movl %edi, %eax
142 movl (%rdx), %ecx
143 shrl %cl, %eax
144 movl %eax, %ecx
145 xorl %eax, %eax
146 cmpl 4(%rdx), %ecx
147 jnb .L20
148 addl $5, %ecx
149 movl (%rdx,%rcx,4), %esi
150 testl %esi, %esi
151 je .L20
152 movl 8(%rdx), %ecx
153 movl %edi, %r8d
154 shrl %cl, %r8d
155 movl %r8d, %ecx
156 andl 12(%rdx), %ecx
157 leaq (%rdx,%rcx,4), %rcx
158 movl (%rcx,%rsi), %ecx
159 testl %ecx, %ecx
160 je .L20
161 movl %edi, %eax
162 shrl $5, %eax
163 andl 16(%rdx), %eax
164 leaq (%rdx,%rax,4), %rax
165 movl (%rax,%rcx), %eax
166 movl %edi, %ecx
167 shrl %cl, %eax
168 andl $1, %eax
169 .L20:
170 rep ret
171 .p2align 4,,10
172 .p2align 3
173 .L28:
174 movq __libc_tsd_CTYPE_B@gottpoff(%rip), %rax
175 movl %edi, %edi
176 movq %fs:(%rax), %rax
177 movzwl (%rax,%rdi,2), %eax
178 andl $1, %eax
180 .size __iswblank, .-__iswblank
181 .weak iswblank
182 .set iswblank,__iswblank
183 .p2align 4,,15
184 .globl __iswcntrl
185 .type __iswcntrl, @function
186 __iswcntrl:
187 testl $-128, %edi
188 je .L37
189 movq __libc_tsd_LOCALE@gottpoff(%rip), %rax
190 movq %fs:(%rax), %rax
191 movq (%rax), %rdx
192 movl 200(%rdx), %eax
193 addl $9, %eax
194 movzwl %ax, %eax
195 movq 64(%rdx,%rax,8), %rdx
196 movl %edi, %eax
197 movl (%rdx), %ecx
198 shrl %cl, %eax
199 movl %eax, %ecx
200 xorl %eax, %eax
201 cmpl 4(%rdx), %ecx
202 jnb .L29
203 addl $5, %ecx
204 movl (%rdx,%rcx,4), %esi
205 testl %esi, %esi
206 je .L29
207 movl 8(%rdx), %ecx
208 movl %edi, %r8d
209 shrl %cl, %r8d
210 movl %r8d, %ecx
211 andl 12(%rdx), %ecx
212 leaq (%rdx,%rcx,4), %rcx
213 movl (%rcx,%rsi), %ecx
214 testl %ecx, %ecx
215 je .L29
216 movl %edi, %eax
217 shrl $5, %eax
218 andl 16(%rdx), %eax
219 leaq (%rdx,%rax,4), %rax
220 movl (%rax,%rcx), %eax
221 movl %edi, %ecx
222 shrl %cl, %eax
223 andl $1, %eax
224 .L29:
225 rep ret
226 .p2align 4,,10
227 .p2align 3
228 .L37:
229 movq __libc_tsd_CTYPE_B@gottpoff(%rip), %rax
230 movl %edi, %edi
231 movq %fs:(%rax), %rax
232 movzwl (%rax,%rdi,2), %eax
233 andl $2, %eax
234 movzwl %ax, %eax
236 .size __iswcntrl, .-__iswcntrl
237 .weak iswcntrl
238 .set iswcntrl,__iswcntrl
239 .p2align 4,,15
240 .globl __iswdigit
241 .type __iswdigit, @function
242 __iswdigit:
243 testl $-128, %edi
244 je .L46
245 movq __libc_tsd_LOCALE@gottpoff(%rip), %rax
246 movq %fs:(%rax), %rax
247 movq (%rax), %rdx
248 movl 200(%rdx), %eax
249 addl $3, %eax
250 movzwl %ax, %eax
251 movq 64(%rdx,%rax,8), %rdx
252 movl %edi, %eax
253 movl (%rdx), %ecx
254 shrl %cl, %eax
255 movl %eax, %ecx
256 xorl %eax, %eax
257 cmpl 4(%rdx), %ecx
258 jnb .L38
259 addl $5, %ecx
260 movl (%rdx,%rcx,4), %esi
261 testl %esi, %esi
262 je .L38
263 movl 8(%rdx), %ecx
264 movl %edi, %r8d
265 shrl %cl, %r8d
266 movl %r8d, %ecx
267 andl 12(%rdx), %ecx
268 leaq (%rdx,%rcx,4), %rcx
269 movl (%rcx,%rsi), %ecx
270 testl %ecx, %ecx
271 je .L38
272 movl %edi, %eax
273 shrl $5, %eax
274 andl 16(%rdx), %eax
275 leaq (%rdx,%rax,4), %rax
276 movl (%rax,%rcx), %eax
277 movl %edi, %ecx
278 shrl %cl, %eax
279 andl $1, %eax
280 .L38:
281 rep ret
282 .p2align 4,,10
283 .p2align 3
284 .L46:
285 subl $48, %edi
286 xorl %eax, %eax
287 cmpl $9, %edi
288 setbe %al
290 .size __iswdigit, .-__iswdigit
291 .weak __GI_iswdigit
292 .hidden __GI_iswdigit
293 .set __GI_iswdigit,__iswdigit
294 .weak iswdigit
295 .set iswdigit,__GI_iswdigit
296 .p2align 4,,15
297 .globl __GI___iswlower
298 .hidden __GI___iswlower
299 .type __GI___iswlower, @function
300 __GI___iswlower:
301 testl $-128, %edi
302 je .L55
303 movq __libc_tsd_LOCALE@gottpoff(%rip), %rax
304 movq %fs:(%rax), %rax
305 movq (%rax), %rdx
306 movl 200(%rdx), %eax
307 addl $1, %eax
308 movzwl %ax, %eax
309 movq 64(%rdx,%rax,8), %rdx
310 movl %edi, %eax
311 movl (%rdx), %ecx
312 shrl %cl, %eax
313 movl %eax, %ecx
314 xorl %eax, %eax
315 cmpl 4(%rdx), %ecx
316 jnb .L47
317 addl $5, %ecx
318 movl (%rdx,%rcx,4), %esi
319 testl %esi, %esi
320 je .L47
321 movl 8(%rdx), %ecx
322 movl %edi, %r8d
323 shrl %cl, %r8d
324 movl %r8d, %ecx
325 andl 12(%rdx), %ecx
326 leaq (%rdx,%rcx,4), %rcx
327 movl (%rcx,%rsi), %ecx
328 testl %ecx, %ecx
329 je .L47
330 movl %edi, %eax
331 shrl $5, %eax
332 andl 16(%rdx), %eax
333 leaq (%rdx,%rax,4), %rax
334 movl (%rax,%rcx), %eax
335 movl %edi, %ecx
336 shrl %cl, %eax
337 andl $1, %eax
338 .L47:
339 rep ret
340 .p2align 4,,10
341 .p2align 3
342 .L55:
343 movq __libc_tsd_CTYPE_B@gottpoff(%rip), %rax
344 movl %edi, %edi
345 movq %fs:(%rax), %rax
346 movzwl (%rax,%rdi,2), %eax
347 andw $512, %ax
348 movzwl %ax, %eax
350 .size __GI___iswlower, .-__GI___iswlower
351 .weak __GI_iswlower
352 .hidden __GI_iswlower
353 .set __GI_iswlower,__GI___iswlower
354 .weak iswlower
355 .set iswlower,__GI_iswlower
356 .globl __iswlower
357 .set __iswlower,__GI___iswlower
358 .p2align 4,,15
359 .globl __iswgraph
360 .type __iswgraph, @function
361 __iswgraph:
362 testl $-128, %edi
363 je .L64
364 movq __libc_tsd_LOCALE@gottpoff(%rip), %rax
365 movq %fs:(%rax), %rax
366 movq (%rax), %rdx
367 movl 200(%rdx), %eax
368 addl $7, %eax
369 movzwl %ax, %eax
370 movq 64(%rdx,%rax,8), %rdx
371 movl %edi, %eax
372 movl (%rdx), %ecx
373 shrl %cl, %eax
374 movl %eax, %ecx
375 xorl %eax, %eax
376 cmpl 4(%rdx), %ecx
377 jnb .L56
378 addl $5, %ecx
379 movl (%rdx,%rcx,4), %esi
380 testl %esi, %esi
381 je .L56
382 movl 8(%rdx), %ecx
383 movl %edi, %r8d
384 shrl %cl, %r8d
385 movl %r8d, %ecx
386 andl 12(%rdx), %ecx
387 leaq (%rdx,%rcx,4), %rcx
388 movl (%rcx,%rsi), %ecx
389 testl %ecx, %ecx
390 je .L56
391 movl %edi, %eax
392 shrl $5, %eax
393 andl 16(%rdx), %eax
394 leaq (%rdx,%rax,4), %rax
395 movl (%rax,%rcx), %eax
396 movl %edi, %ecx
397 shrl %cl, %eax
398 andl $1, %eax
399 .L56:
400 rep ret
401 .p2align 4,,10
402 .p2align 3
403 .L64:
404 movq __libc_tsd_CTYPE_B@gottpoff(%rip), %rax
405 movl %edi, %edi
406 movq %fs:(%rax), %rax
407 movzwl (%rax,%rdi,2), %eax
408 andw $-32768, %ax
409 movzwl %ax, %eax
411 .size __iswgraph, .-__iswgraph
412 .weak iswgraph
413 .set iswgraph,__iswgraph
414 .p2align 4,,15
415 .globl __iswprint
416 .type __iswprint, @function
417 __iswprint:
418 testl $-128, %edi
419 je .L73
420 movq __libc_tsd_LOCALE@gottpoff(%rip), %rax
421 movq %fs:(%rax), %rax
422 movq (%rax), %rdx
423 movl 200(%rdx), %eax
424 addl $6, %eax
425 movzwl %ax, %eax
426 movq 64(%rdx,%rax,8), %rdx
427 movl %edi, %eax
428 movl (%rdx), %ecx
429 shrl %cl, %eax
430 movl %eax, %ecx
431 xorl %eax, %eax
432 cmpl 4(%rdx), %ecx
433 jnb .L65
434 addl $5, %ecx
435 movl (%rdx,%rcx,4), %esi
436 testl %esi, %esi
437 je .L65
438 movl 8(%rdx), %ecx
439 movl %edi, %r8d
440 shrl %cl, %r8d
441 movl %r8d, %ecx
442 andl 12(%rdx), %ecx
443 leaq (%rdx,%rcx,4), %rcx
444 movl (%rcx,%rsi), %ecx
445 testl %ecx, %ecx
446 je .L65
447 movl %edi, %eax
448 shrl $5, %eax
449 andl 16(%rdx), %eax
450 leaq (%rdx,%rax,4), %rax
451 movl (%rax,%rcx), %eax
452 movl %edi, %ecx
453 shrl %cl, %eax
454 andl $1, %eax
455 .L65:
456 rep ret
457 .p2align 4,,10
458 .p2align 3
459 .L73:
460 movq __libc_tsd_CTYPE_B@gottpoff(%rip), %rax
461 movl %edi, %edi
462 movq %fs:(%rax), %rax
463 movzwl (%rax,%rdi,2), %eax
464 andw $16384, %ax
465 movzwl %ax, %eax
467 .size __iswprint, .-__iswprint
468 .weak iswprint
469 .set iswprint,__iswprint
470 .p2align 4,,15
471 .globl __iswpunct
472 .type __iswpunct, @function
473 __iswpunct:
474 testl $-128, %edi
475 je .L82
476 movq __libc_tsd_LOCALE@gottpoff(%rip), %rax
477 movq %fs:(%rax), %rax
478 movq (%rax), %rdx
479 movl 200(%rdx), %eax
480 addl $10, %eax
481 movzwl %ax, %eax
482 movq 64(%rdx,%rax,8), %rdx
483 movl %edi, %eax
484 movl (%rdx), %ecx
485 shrl %cl, %eax
486 movl %eax, %ecx
487 xorl %eax, %eax
488 cmpl 4(%rdx), %ecx
489 jnb .L74
490 addl $5, %ecx
491 movl (%rdx,%rcx,4), %esi
492 testl %esi, %esi
493 je .L74
494 movl 8(%rdx), %ecx
495 movl %edi, %r8d
496 shrl %cl, %r8d
497 movl %r8d, %ecx
498 andl 12(%rdx), %ecx
499 leaq (%rdx,%rcx,4), %rcx
500 movl (%rcx,%rsi), %ecx
501 testl %ecx, %ecx
502 je .L74
503 movl %edi, %eax
504 shrl $5, %eax
505 andl 16(%rdx), %eax
506 leaq (%rdx,%rax,4), %rax
507 movl (%rax,%rcx), %eax
508 movl %edi, %ecx
509 shrl %cl, %eax
510 andl $1, %eax
511 .L74:
512 rep ret
513 .p2align 4,,10
514 .p2align 3
515 .L82:
516 movq __libc_tsd_CTYPE_B@gottpoff(%rip), %rax
517 movl %edi, %edi
518 movq %fs:(%rax), %rax
519 movzwl (%rax,%rdi,2), %eax
520 andl $4, %eax
521 movzwl %ax, %eax
523 .size __iswpunct, .-__iswpunct
524 .weak iswpunct
525 .set iswpunct,__iswpunct
526 .p2align 4,,15
527 .globl __iswspace
528 .type __iswspace, @function
529 __iswspace:
530 testl $-128, %edi
531 je .L91
532 movq __libc_tsd_LOCALE@gottpoff(%rip), %rax
533 movq %fs:(%rax), %rax
534 movq (%rax), %rdx
535 movl 200(%rdx), %eax
536 addl $5, %eax
537 movzwl %ax, %eax
538 movq 64(%rdx,%rax,8), %rdx
539 movl %edi, %eax
540 movl (%rdx), %ecx
541 shrl %cl, %eax
542 movl %eax, %ecx
543 xorl %eax, %eax
544 cmpl 4(%rdx), %ecx
545 jnb .L83
546 addl $5, %ecx
547 movl (%rdx,%rcx,4), %esi
548 testl %esi, %esi
549 je .L83
550 movl 8(%rdx), %ecx
551 movl %edi, %r8d
552 shrl %cl, %r8d
553 movl %r8d, %ecx
554 andl 12(%rdx), %ecx
555 leaq (%rdx,%rcx,4), %rcx
556 movl (%rcx,%rsi), %ecx
557 testl %ecx, %ecx
558 je .L83
559 movl %edi, %eax
560 shrl $5, %eax
561 andl 16(%rdx), %eax
562 leaq (%rdx,%rax,4), %rax
563 movl (%rax,%rcx), %eax
564 movl %edi, %ecx
565 shrl %cl, %eax
566 andl $1, %eax
567 .L83:
568 rep ret
569 .p2align 4,,10
570 .p2align 3
571 .L91:
572 movq __libc_tsd_CTYPE_B@gottpoff(%rip), %rax
573 movl %edi, %edi
574 movq %fs:(%rax), %rax
575 movzwl (%rax,%rdi,2), %eax
576 andw $8192, %ax
577 movzwl %ax, %eax
579 .size __iswspace, .-__iswspace
580 .weak __GI_iswspace
581 .hidden __GI_iswspace
582 .set __GI_iswspace,__iswspace
583 .weak iswspace
584 .set iswspace,__GI_iswspace
585 .p2align 4,,15
586 .globl __iswupper
587 .type __iswupper, @function
588 __iswupper:
589 testl $-128, %edi
590 je .L100
591 movq __libc_tsd_LOCALE@gottpoff(%rip), %rax
592 movq %fs:(%rax), %rax
593 movq (%rax), %rax
594 movzwl 200(%rax), %edx
595 movq 64(%rax,%rdx,8), %rdx
596 movl %edi, %eax
597 movl (%rdx), %ecx
598 shrl %cl, %eax
599 movl %eax, %ecx
600 xorl %eax, %eax
601 cmpl 4(%rdx), %ecx
602 jnb .L92
603 addl $5, %ecx
604 movl (%rdx,%rcx,4), %esi
605 testl %esi, %esi
606 je .L92
607 movl 8(%rdx), %ecx
608 movl %edi, %r8d
609 shrl %cl, %r8d
610 movl %r8d, %ecx
611 andl 12(%rdx), %ecx
612 leaq (%rdx,%rcx,4), %rcx
613 movl (%rcx,%rsi), %ecx
614 testl %ecx, %ecx
615 je .L92
616 movl %edi, %eax
617 shrl $5, %eax
618 andl 16(%rdx), %eax
619 leaq (%rdx,%rax,4), %rax
620 movl (%rax,%rcx), %eax
621 movl %edi, %ecx
622 shrl %cl, %eax
623 andl $1, %eax
624 .L92:
625 rep ret
626 .p2align 4,,10
627 .p2align 3
628 .L100:
629 movq __libc_tsd_CTYPE_B@gottpoff(%rip), %rax
630 movl %edi, %edi
631 movq %fs:(%rax), %rax
632 movzwl (%rax,%rdi,2), %eax
633 andw $256, %ax
634 movzwl %ax, %eax
636 .size __iswupper, .-__iswupper
637 .weak iswupper
638 .set iswupper,__iswupper
639 .p2align 4,,15
640 .globl __iswxdigit
641 .type __iswxdigit, @function
642 __iswxdigit:
643 testl $-128, %edi
644 je .L109
645 movq __libc_tsd_LOCALE@gottpoff(%rip), %rax
646 movq %fs:(%rax), %rax
647 movq (%rax), %rdx
648 movl 200(%rdx), %eax
649 addl $4, %eax
650 movzwl %ax, %eax
651 movq 64(%rdx,%rax,8), %rdx
652 movl %edi, %eax
653 movl (%rdx), %ecx
654 shrl %cl, %eax
655 movl %eax, %ecx
656 xorl %eax, %eax
657 cmpl 4(%rdx), %ecx
658 jnb .L101
659 addl $5, %ecx
660 movl (%rdx,%rcx,4), %esi
661 testl %esi, %esi
662 je .L101
663 movl 8(%rdx), %ecx
664 movl %edi, %r8d
665 shrl %cl, %r8d
666 movl %r8d, %ecx
667 andl 12(%rdx), %ecx
668 leaq (%rdx,%rcx,4), %rcx
669 movl (%rcx,%rsi), %ecx
670 testl %ecx, %ecx
671 je .L101
672 movl %edi, %eax
673 shrl $5, %eax
674 andl 16(%rdx), %eax
675 leaq (%rdx,%rax,4), %rax
676 movl (%rax,%rcx), %eax
677 movl %edi, %ecx
678 shrl %cl, %eax
679 andl $1, %eax
680 .L101:
681 rep ret
682 .p2align 4,,10
683 .p2align 3
684 .L109:
685 movq __libc_tsd_CTYPE_B@gottpoff(%rip), %rax
686 movl %edi, %edi
687 movq %fs:(%rax), %rax
688 movzwl (%rax,%rdi,2), %eax
689 andw $4096, %ax
690 movzwl %ax, %eax
692 .size __iswxdigit, .-__iswxdigit
693 .weak __GI_iswxdigit
694 .hidden __GI_iswxdigit
695 .set __GI_iswxdigit,__iswxdigit
696 .weak iswxdigit
697 .set iswxdigit,__GI_iswxdigit
698 .p2align 4,,15
699 .globl __GI___towlower
700 .hidden __GI___towlower
701 .type __GI___towlower, @function
702 __GI___towlower:
703 movq __libc_tsd_LOCALE@gottpoff(%rip), %rdx
704 movl %edi, %eax
705 movq %fs:(%rdx), %rdx
706 movq (%rdx), %rcx
707 movl 208(%rcx), %esi
708 leal 1(%rsi), %edx
709 movzwl %dx, %edx
710 movq 64(%rcx,%rdx,8), %rdx
711 movl (%rdx), %ecx
712 shrl %cl, %edi
713 cmpl 4(%rdx), %edi
714 movl %edi, %ecx
715 jnb .L111
716 addl $5, %ecx
717 movl (%rdx,%rcx,4), %esi
718 testl %esi, %esi
719 je .L111
720 movl 8(%rdx), %ecx
721 movl %eax, %edi
722 shrl %cl, %edi
723 movl %edi, %ecx
724 andl 12(%rdx), %ecx
725 leaq (%rdx,%rcx,4), %rcx
726 movl (%rcx,%rsi), %ecx
727 testl %ecx, %ecx
728 je .L111
729 movl %eax, %esi
730 andl 16(%rdx), %esi
731 leaq (%rdx,%rsi,4), %rdx
732 addl (%rdx,%rcx), %eax
733 .L111:
734 rep ret
735 .size __GI___towlower, .-__GI___towlower
736 .globl __towlower
737 .set __towlower,__GI___towlower
738 .weak __GI_towlower
739 .hidden __GI_towlower
740 .set __GI_towlower,__towlower
741 .weak towlower
742 .set towlower,__GI_towlower
743 .p2align 4,,15
744 .globl __GI___towupper
745 .hidden __GI___towupper
746 .type __GI___towupper, @function
747 __GI___towupper:
748 movq __libc_tsd_LOCALE@gottpoff(%rip), %rdx
749 movl %edi, %eax
750 movq %fs:(%rdx), %rdx
751 movq (%rdx), %rdx
752 movzwl 208(%rdx), %ecx
753 movq 64(%rdx,%rcx,8), %rdx
754 movl (%rdx), %ecx
755 shrl %cl, %edi
756 cmpl 4(%rdx), %edi
757 movl %edi, %ecx
758 jnb .L119
759 addl $5, %ecx
760 movl (%rdx,%rcx,4), %esi
761 testl %esi, %esi
762 je .L119
763 movl 8(%rdx), %ecx
764 movl %eax, %edi
765 shrl %cl, %edi
766 movl %edi, %ecx
767 andl 12(%rdx), %ecx
768 leaq (%rdx,%rcx,4), %rcx
769 movl (%rcx,%rsi), %ecx
770 testl %ecx, %ecx
771 je .L119
772 movl %eax, %esi
773 andl 16(%rdx), %esi
774 leaq (%rdx,%rsi,4), %rdx
775 addl (%rdx,%rcx), %eax
776 .L119:
777 rep ret
778 .size __GI___towupper, .-__GI___towupper
779 .globl __towupper
780 .set __towupper,__GI___towupper
781 .weak __GI_towupper
782 .hidden __GI_towupper
783 .set __GI_towupper,__towupper
784 .weak towupper
785 .set towupper,__GI_towupper