Advertisement
Ameisen

Untitled

May 19th, 2022
581
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. FNV1aSpan64(std::span<unsigned char, 18446744073709551615ul>): # @FNV1aSpan64(std::span<unsigned char, 18446744073709551615ul>)
  2.         movabs  rdx, -3750763034362895579
  3.         test    rsi, rsi
  4.         je      .LBB0_1
  5.         mov     r8d, esi
  6.         movabs  rcx, 1099511628211
  7.         lea     rax, [rsi - 1]
  8.         and     r8d, 7
  9.         cmp     rax, 7
  10.         jb      .LBB0_5
  11.         and     rsi, -8
  12. .LBB0_4:                                # =>This Inner Loop Header: Depth=1
  13.         movzx   eax, byte ptr [rdi]
  14.         xor     rax, rdx
  15.         movzx   edx, byte ptr [rdi + 1]
  16.         imul    rax, rcx
  17.         xor     rdx, rax
  18.         movzx   eax, byte ptr [rdi + 2]
  19.         imul    rdx, rcx
  20.         xor     rax, rdx
  21.         movzx   edx, byte ptr [rdi + 3]
  22.         imul    rax, rcx
  23.         xor     rdx, rax
  24.         movzx   eax, byte ptr [rdi + 4]
  25.         imul    rdx, rcx
  26.         xor     rax, rdx
  27.         movzx   edx, byte ptr [rdi + 5]
  28.         imul    rax, rcx
  29.         xor     rdx, rax
  30.         movzx   eax, byte ptr [rdi + 6]
  31.         imul    rdx, rcx
  32.         xor     rax, rdx
  33.         movzx   edx, byte ptr [rdi + 7]
  34.         add     rdi, 8
  35.         imul    rax, rcx
  36.         xor     rdx, rax
  37.         imul    rdx, rcx
  38.         add     rsi, -8
  39.         jne     .LBB0_4
  40. .LBB0_5:
  41.         mov     rax, rdx
  42.         test    r8, r8
  43.         je      .LBB0_8
  44.         xor     esi, esi
  45. .LBB0_7:                                # =>This Inner Loop Header: Depth=1
  46.         movzx   eax, byte ptr [rdi + rsi]
  47.         inc     rsi
  48.         xor     rax, rdx
  49.         imul    rax, rcx
  50.         mov     rdx, rax
  51.         cmp     r8, rsi
  52.         jne     .LBB0_7
  53. .LBB0_8:
  54.         ret
  55. .LBB0_1:
  56.         mov     rax, rdx
  57.         ret
Advertisement
RAW Paste Data Copied
Advertisement