clarify the purpose of this project
[nyanglibc.git] / intl / hash-string.shared.s
blob31698f204f1e8ef87c29652466ee02a1a78ae4dd
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 __hash_string
9 .hidden __hash_string
10 .type __hash_string, @function
11 __hash_string:
12 xorl %eax, %eax
13 movabsq $-4026531841, %rcx
14 .L2:
15 movzbl (%rdi), %edx
16 testb %dl, %dl
17 je .L9
18 .L4:
19 salq $4, %rax
20 addq $1, %rdi
21 addq %rdx, %rax
22 movq %rax, %rdx
23 andl $4026531840, %edx
24 je .L2
25 shrq $24, %rdx
26 andq %rcx, %rax
27 xorq %rdx, %rax
28 movzbl (%rdi), %edx
29 testb %dl, %dl
30 jne .L4
31 .L9:
32 rep ret
33 .size __hash_string, .-__hash_string