From 88019c40725704e6998625937c764d1d0c827975 Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Wed, 15 Dec 2021 10:17:04 +0000 Subject: vppinfra: toeplitz hash four in parallel Type: improvement Change-Id: Icb3f39f42d01c51d7b03543cb7d6b5dabad11866 Signed-off-by: Damjan Marion --- src/vppinfra/vector_avx2.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/vppinfra/vector_avx2.h') diff --git a/src/vppinfra/vector_avx2.h b/src/vppinfra/vector_avx2.h index 59857182a93..6a363ccfa92 100644 --- a/src/vppinfra/vector_avx2.h +++ b/src/vppinfra/vector_avx2.h @@ -203,6 +203,16 @@ u32x8_hadd (u32x8 v1, u32x8 v2) return (u32x8) _mm256_hadd_epi32 ((__m256i) v1, (__m256i) v2); } +static_always_inline u32 +u32x8_hxor (u32x8 v) +{ + u32x4 v4; + v4 = u32x8_extract_lo (v) ^ u32x8_extract_hi (v); + v4 ^= (u32x4) u8x16_align_right (v4, v4, 8); + v4 ^= (u32x4) u8x16_align_right (v4, v4, 4); + return v4[0]; +} + static_always_inline u16x16 u16x16_mask_last (u16x16 v, u8 n_last) { -- cgit 1.2.3-korg