crc_t
static inline crc_t
crc_clmul_update_long(crc_t crc, unsigned long msgpoly,
static inline crc_t
crc_clmul_update_partial(crc_t crc, const u8 *p, size_t len,
if (len >= sizeof(crc_t)) {
#define CRC_BITS (8 * sizeof(crc_t)) /* a.k.a. 'n' */
static inline crc_t
crc_clmul(crc_t crc, const void *p, size_t len,
BUILD_BUG_ON(sizeof(crc_t) > sizeof(unsigned long));
crc_clmul_prep(crc_t crc, unsigned long msgpoly)
static inline crc_t
#define DECLARE_CRC_PCLMUL_FUNCS(prefix, crc_t) \
crc_t prefix##_pclmul_sse(crc_t crc, const u8 *p, size_t len, \
crc_t prefix##_vpclmul_avx2(crc_t crc, const u8 *p, size_t len, \
crc_t prefix##_vpclmul_avx512(crc_t crc, const u8 *p, size_t len, \