52#if defined(__GNUC__) && defined(__x86_64__) || defined(_WIN32)
55#define CRC32_x86_64_WIN
57#define CRC32_x86_64_DEFAULT
59#elif defined(__aarch64__) && defined(__GNUC__)
62#define CRC32_ARM64_APPLE
64#define CRC32_ARM64_DEFAULT
Definition: buf0block_hint.cc:29
Version control for database, common definitions, and include files.
uint32_t(* ut_crc32_func_t)(const byte *ptr, size_t len)
Calculates CRC32.
Definition: ut0crc32.h:131
bool ut_crc32_cpu_enabled
Flag that tells whether the CPU supports CRC32 or not.
Definition: crc32.cc:130
uint32_t ut_crc32_legacy_big_endian(const byte *buf, size_t len)
Calculates CRC32 using legacy algorithm, which uses big-endian byte ordering when converting byte seq...
Definition: crc32.cc:314
ut_crc32_func_t ut_crc32
Pointer to standard-compliant CRC32-C (using the GF(2) primitive polynomial 0x11EDC6F41) calculation ...
Definition: crc32.cc:128
void ut_crc32_init()
Initializes the data structures used by ut_crc32*().
Definition: crc32.cc:812
bool ut_poly_mul_cpu_enabled
Flag that tells whether the CPU supports polynomial multiplication or not.
Definition: crc32.cc:131
constexpr uint32_t CRC32C_POLYNOMIAL
The CRC-32C polynomial without the implicit highest 1 at x^32.
Definition: ut0crc32.h:125