X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvppinfra%2Fbihash_8_8.h;h=a4a18a1d7eb1b6f78a687d6a16c8ed9ec31c3252;hb=91fd910d7d7611a28d1f85482ed5d5c3ee6a8853;hp=a0d6df2e4c83244b171accd406c8363a92a6f887;hpb=7cd468a3d7dee7d6c92f69a0bb7061ae208ec727;p=vpp.git diff --git a/src/vppinfra/bihash_8_8.h b/src/vppinfra/bihash_8_8.h index a0d6df2e4c8..a4a18a1d7eb 100644 --- a/src/vppinfra/bihash_8_8.h +++ b/src/vppinfra/bihash_8_8.h @@ -13,6 +13,9 @@ * limitations under the License. */ #undef BIHASH_TYPE +#undef BIHASH_KVP_PER_PAGE +#undef BIHASH_32_64_SVM +#undef BIHASH_ENABLE_STATS #define BIHASH_TYPE _8_8 #define BIHASH_KVP_PER_PAGE 4 @@ -24,10 +27,7 @@ #include #include #include - -#if __SSE4_2__ -#include -#endif +#include /** 8 octet key, 8 octet key value pair */ typedef struct @@ -53,8 +53,9 @@ clib_bihash_is_free_8_8 (clib_bihash_kv_8_8_t * v) static inline u64 clib_bihash_hash_8_8 (clib_bihash_kv_8_8_t * v) { -#if __SSE4_2__ - return _mm_crc32_u64 (0, v->key); + /* Note: to torture-test linear scan, make this fn return a constant */ +#ifdef clib_crc32c_uses_intrinsics + return clib_crc32c ((u8 *) & v->key, 8); #else return clib_xxhash (v->key); #endif