10#ifndef __CRC32INTRIN_H
11#define __CRC32INTRIN_H
14#if defined(__cplusplus) && (__cplusplus >= 201103L)
15#define __DEFAULT_FN_ATTRS \
16 __attribute__((__always_inline__, __nodebug__, __target__("crc32"))) constexpr
18#define __DEFAULT_FN_ATTRS \
19 __attribute__((__always_inline__, __nodebug__, __target__("crc32")))
38 return __builtin_ia32_crc32qi(__C,
__D);
57 return __builtin_ia32_crc32hi(__C,
__D);
76 return __builtin_ia32_crc32si(__C,
__D);
95_mm_crc32_u64(
unsigned long long __C,
unsigned long long __D) {
96 return __builtin_ia32_crc32di(__C,
__D);
100#undef __DEFAULT_FN_ATTRS
#define __DEFAULT_FN_ATTRS
static __inline__ unsigned int __DEFAULT_FN_ATTRS _mm_crc32_u8(unsigned int __C, unsigned char __D)
Adds the unsigned integer operand to the CRC-32C checksum of the unsigned char operand.
static __inline__ unsigned int __DEFAULT_FN_ATTRS _mm_crc32_u32(unsigned int __C, unsigned int __D)
Adds the first unsigned integer operand to the CRC-32C checksum of the second unsigned integer operan...
static __inline__ unsigned int __DEFAULT_FN_ATTRS _mm_crc32_u16(unsigned int __C, unsigned short __D)
Adds the unsigned integer operand to the CRC-32C checksum of the unsigned short operand.
static __inline__ void short __D