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