diff --git a/util/crc32c.cc b/util/crc32c.cc index bca955a0989e194b0a39390a151e105559c0598d..5008dddee27285d7c49400e1c99d79c7e218340d 100644 --- a/util/crc32c.cc +++ b/util/crc32c.cc @@ -333,17 +333,14 @@ static bool isSSE42() { } typedef void (*Function)(uint64_t*, uint8_t const**); -static Function func = nullptr; static inline Function Choose_CRC32() { return isSSE42() ? Fast_CRC32 : Slow_CRC32; } +static Function func = Choose_CRC32(); + static inline void CRC32(uint64_t* l, uint8_t const **p) { - if (func != nullptr) { - return func(l, p); - } - func = Choose_CRC32(); func(l, p); }