9 rte_hash_k16_cmp_eq(
const void *key1,
const void *key2,
size_t key_len
__rte_unused)
11 #ifdef RTE_ARCH_NO_VECTOR 15 const xmm_t k1 = *(
const xmm_t *) key1;
16 const xmm_t k2 = *(
const xmm_t *) key2;
17 for (i = 0; i < 16; i++)
18 tmp.u8[i] = k1.u8[i] ^ k2.u8[i];
21 tmp1.i64[0] = (x.i64[0] == 0) ? 0xffffffffffffffffLL : 0;
22 tmp1.i64[1] = (x.i64[1] == 0) ? 0xffffffffffffffffLL : 0;
24 cnt += (tmp1.i64[0] != 0) ? 64 : 0;
25 cnt += (tmp1.i64[1] != 0) ? 64 : 0;
26 cnt = ((cnt == 128) ? 0 : 1);
34 rte_hash_k32_cmp_eq(
const void *key1,
const void *key2,
size_t key_len)
36 return rte_hash_k16_cmp_eq(key1, key2, key_len) ||
37 rte_hash_k16_cmp_eq((
const char *) key1 + 16,
38 (
const char *) key2 + 16, key_len);
42 rte_hash_k48_cmp_eq(
const void *key1,
const void *key2,
size_t key_len)
44 return rte_hash_k16_cmp_eq(key1, key2, key_len) ||
45 rte_hash_k16_cmp_eq((
const char *) key1 + 16,
46 (
const char *) key2 + 16, key_len) ||
47 rte_hash_k16_cmp_eq((
const char *) key1 + 32,
48 (
const char *) key2 + 32, key_len);
52 rte_hash_k64_cmp_eq(
const void *key1,
const void *key2,
size_t key_len)
54 return rte_hash_k32_cmp_eq(key1, key2, key_len) ||
55 rte_hash_k32_cmp_eq((
const char *) key1 + 32,
56 (
const char *) key2 + 32, key_len);
60 rte_hash_k80_cmp_eq(
const void *key1,
const void *key2,
size_t key_len)
62 return rte_hash_k64_cmp_eq(key1, key2, key_len) ||
63 rte_hash_k16_cmp_eq((
const char *) key1 + 64,
64 (
const char *) key2 + 64, key_len);
68 rte_hash_k96_cmp_eq(
const void *key1,
const void *key2,
size_t key_len)
70 return rte_hash_k64_cmp_eq(key1, key2, key_len) ||
71 rte_hash_k32_cmp_eq((
const char *) key1 + 64,
72 (
const char *) key2 + 64, key_len);
76 rte_hash_k112_cmp_eq(
const void *key1,
const void *key2,
size_t key_len)
78 return rte_hash_k64_cmp_eq(key1, key2, key_len) ||
79 rte_hash_k32_cmp_eq((
const char *) key1 + 64,
80 (
const char *) key2 + 64, key_len) ||
81 rte_hash_k16_cmp_eq((
const char *) key1 + 96,
82 (
const char *) key2 + 96, key_len);
86 rte_hash_k128_cmp_eq(
const void *key1,
const void *key2,
size_t key_len)
88 return rte_hash_k64_cmp_eq(key1, key2, key_len) ||
89 rte_hash_k64_cmp_eq((
const char *) key1 + 64,
90 (
const char *) key2 + 64, key_len);