From: Yerden Zhumabekov Date: Thu, 29 Jan 2015 08:49:47 +0000 (+0600) Subject: hash: add CRC function for 8 bytes X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=d2b989045f9bb0dcbf138a4e13130c41adbf71cf;p=dpdk.git hash: add CRC function for 8 bytes SSE4.2 provides CRC32 intrinsic with 8-byte operand. Signed-off-by: Yerden Zhumabekov Acked-by: Bruce Richardson --- diff --git a/lib/librte_hash/rte_hash_crc.h b/lib/librte_hash/rte_hash_crc.h index 45b0dcedfa..6cc67cd122 100644 --- a/lib/librte_hash/rte_hash_crc.h +++ b/lib/librte_hash/rte_hash_crc.h @@ -412,6 +412,22 @@ rte_hash_crc_4byte(uint32_t data, uint32_t init_val) return crc32c_sse42_u32(data, init_val); } +/** + * Use single crc32 instruction to perform a hash on a 8 byte value. + * + * @param data + * Data to perform hash on. + * @param init_val + * Value to initialise hash generator. + * @return + * 32bit calculated hash value. + */ +static inline uint32_t +rte_hash_crc_8byte(uint64_t data, uint32_t init_val) +{ + return crc32c_sse42_u64(data, init_val); +} + /** * Use crc32 instruction to perform a hash. *