Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- FNV1aSpan64(std::span<unsigned char, 18446744073709551615ul>): # @FNV1aSpan64(std::span<unsigned char, 18446744073709551615ul>)
- movabs rdx, -3750763034362895579
- test rsi, rsi
- je .LBB0_1
- mov r8d, esi
- movabs rcx, 1099511628211
- lea rax, [rsi - 1]
- and r8d, 7
- cmp rax, 7
- jb .LBB0_5
- and rsi, -8
- .LBB0_4: # =>This Inner Loop Header: Depth=1
- movzx eax, byte ptr [rdi]
- xor rax, rdx
- movzx edx, byte ptr [rdi + 1]
- imul rax, rcx
- xor rdx, rax
- movzx eax, byte ptr [rdi + 2]
- imul rdx, rcx
- xor rax, rdx
- movzx edx, byte ptr [rdi + 3]
- imul rax, rcx
- xor rdx, rax
- movzx eax, byte ptr [rdi + 4]
- imul rdx, rcx
- xor rax, rdx
- movzx edx, byte ptr [rdi + 5]
- imul rax, rcx
- xor rdx, rax
- movzx eax, byte ptr [rdi + 6]
- imul rdx, rcx
- xor rax, rdx
- movzx edx, byte ptr [rdi + 7]
- add rdi, 8
- imul rax, rcx
- xor rdx, rax
- imul rdx, rcx
- add rsi, -8
- jne .LBB0_4
- .LBB0_5:
- mov rax, rdx
- test r8, r8
- je .LBB0_8
- xor esi, esi
- .LBB0_7: # =>This Inner Loop Header: Depth=1
- movzx eax, byte ptr [rdi + rsi]
- inc rsi
- xor rax, rdx
- imul rax, rcx
- mov rdx, rax
- cmp r8, rsi
- jne .LBB0_7
- .LBB0_8:
- ret
- .LBB0_1:
- mov rax, rdx
- ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement