| 345 | } |
| 346 | |
| 347 | inline std::pair<__m512i, __m512i> WeakHashLen32WithSeedsBatch( |
| 348 | __m512i w, __m512i x, __m512i y, __m512i z, __m512i a, __m512i b) { |
| 349 | a = _mm512_add_epi64(a, w); |
| 350 | __m512i tmp = _mm512_add_epi64(b, a); |
| 351 | tmp = _mm512_add_epi64(tmp, z); |
| 352 | b = Rotate64Batch(tmp, 21); |
| 353 | __m512i c = _mm512_srli_epi64(a, 0); |
| 354 | a = _mm512_add_epi64(a, x); |
| 355 | a = _mm512_add_epi64(a, y); |
| 356 | b = _mm512_add_epi64(b, Rotate64Batch(a, 44)); |
| 357 | return std::make_pair(_mm512_add_epi64(a, z), _mm512_add_epi64(b, c)); |
| 358 | } |
| 359 | |
| 360 | inline __m512i HashLen16Batch(__m512i u, __m512i v, __m512i mul) { |
| 361 | __m512i a = _mm512_xor_si512(u, v); |
no test coverage detected