clarify the purpose of this project
[nyanglibc.git] / wctype / wctype.s
blob82b7e5dde6dea3a4046d6899ebf2f1136f07eb48
1 .text
2 .p2align 4,,15
3 .globl __wctype
4 .type __wctype, @function
5 __wctype:
6 pushq %r15
7 pushq %r14
8 movq %rdi, %r15
9 pushq %r13
10 pushq %r12
11 xorl %r12d, %r12d
12 pushq %rbp
13 pushq %rbx
14 subq $8, %rsp
15 call strlen
16 movq %rax, %r13
17 movq _nl_current_LC_CTYPE@gottpoff(%rip), %rax
18 movq %fs:(%rax), %rax
19 movq (%rax), %r14
20 movq 144(%r14), %rbx
21 jmp .L5
22 .p2align 4,,10
23 .p2align 3
24 .L2:
25 leaq 1(%rbx,%rbp), %rbx
26 cmpb $0, (%rbx)
27 je .L6
28 addl $1, %r12d
29 .L5:
30 movq %rbx, %rdi
31 call strlen
32 cmpq %rax, %r13
33 movq %rax, %rbp
34 jne .L2
35 movq %r13, %rdx
36 movq %rbx, %rsi
37 movq %r15, %rdi
38 call memcmp@PLT
39 testl %eax, %eax
40 jne .L2
41 addl 200(%r14), %r12d
42 movq 64(%r14,%r12,8), %rax
43 addq $8, %rsp
44 popq %rbx
45 popq %rbp
46 popq %r12
47 popq %r13
48 popq %r14
49 popq %r15
50 ret
51 .p2align 4,,10
52 .p2align 3
53 .L6:
54 addq $8, %rsp
55 xorl %eax, %eax
56 popq %rbx
57 popq %rbp
58 popq %r12
59 popq %r13
60 popq %r14
61 popq %r15
62 ret
63 .size __wctype, .-__wctype
64 .weak wctype
65 .set wctype,__wctype
66 .hidden _nl_current_LC_CTYPE
67 .hidden strlen