15 #ifndef CPU_FEATURES_INCLUDE_INTERNAL_BIT_UTILS_H_
16 #define CPU_FEATURES_INCLUDE_INTERNAL_BIT_UTILS_H_
26 inline static bool IsBitSet(uint32_t reg, uint32_t bit) {
27 return (reg >> bit) & 0x1;
32 const uint64_t bits = msb - lsb + 1ULL;
33 const uint64_t mask = (1ULL << bits) - 1ULL;
35 return (reg >> lsb) & mask;
static CPU_FEATURES_START_CPP_NAMESPACE bool IsBitSet(uint32_t reg, uint32_t bit)
Definition: bit_utils.h:26
static uint32_t ExtractBitRange(uint32_t reg, uint32_t msb, uint32_t lsb)
Definition: bit_utils.h:30
#define CPU_FEATURES_START_CPP_NAMESPACE
Definition: cpu_features_macros.h:114
#define CPU_FEATURES_END_CPP_NAMESPACE
Definition: cpu_features_macros.h:115