clarify the purpose of this project
[nyanglibc.git] / locale / coll-lookup.s
blob41cb768bfcf4914d985b2dbdac95333005acae25
1 .text
2 .p2align 4,,15
3 .globl __collidx_table_lookup
4 .type __collidx_table_lookup, @function
5 __collidx_table_lookup:
6 movl (%rdi), %ecx
7 movl %esi, %edx
8 xorl %eax, %eax
9 shrl %cl, %edx
10 cmpl 4(%rdi), %edx
11 jnb .L1
12 addl $5, %edx
13 movl (%rdi,%rdx,4), %edx
14 testl %edx, %edx
15 je .L1
16 movl 8(%rdi), %ecx
17 movl %esi, %r8d
18 shrl %cl, %r8d
19 movl %r8d, %ecx
20 andl 12(%rdi), %ecx
21 leaq (%rdi,%rcx,4), %rcx
22 movl (%rcx,%rdx), %edx
23 testl %edx, %edx
24 je .L1
25 andl 16(%rdi), %esi
26 leaq (%rdi,%rsi,4), %rax
27 movl (%rax,%rdx), %eax
28 .L1:
29 rep ret
30 .size __collidx_table_lookup, .-__collidx_table_lookup
31 .p2align 4,,15
32 .globl __collseq_table_lookup
33 .type __collseq_table_lookup, @function
34 __collseq_table_lookup:
35 movl (%rdi), %ecx
36 movl %esi, %edx
37 movl $-1, %eax
38 shrl %cl, %edx
39 cmpl 4(%rdi), %edx
40 jnb .L9
41 addl $5, %edx
42 movl (%rdi,%rdx,4), %edx
43 testl %edx, %edx
44 je .L9
45 movl 8(%rdi), %ecx
46 movl %esi, %r8d
47 shrl %cl, %r8d
48 movl %r8d, %ecx
49 andl 12(%rdi), %ecx
50 leaq (%rdi,%rcx,4), %rcx
51 movl (%rcx,%rdx), %edx
52 testl %edx, %edx
53 je .L9
54 andl 16(%rdi), %esi
55 leaq (%rdi,%rsi,4), %rax
56 movl (%rax,%rdx), %eax
57 .L9:
58 rep ret
59 .size __collseq_table_lookup, .-__collseq_table_lookup