Botan

Runtime CPU detection

License
Botan is released under the Simplified BSD License (see LICENSE.md)

class  CPUID;

A class handling runtime CPU feature detection


static size_t  cacheLineSize();

Return a best guess of the cache line size


static bool  hasRdtsc();

Check if the processor supports RDTSC


static bool  hasSse2();

Check if the processor supports SSE2


static bool  hasSsse3();

Check if the processor supports SSSE3


static bool  hasSse41();

Check if the processor supports SSE4.1


static bool  hasSse42();

Check if the processor supports SSE4.2


static bool  hasAvx2();

Check if the processor supports AVX2


static bool  hasAvx512f();

Check if the processor supports AVX-512F


static bool  hasBmi2();

Check if the processor supports BMI2


static bool  hasAesNi();

Check if the processor supports AES-NI


static bool  hasClmul();

Check if the processor supports CLMUL


static bool  hasIntelSha();

Check if the processor supports Intel SHA extension


static bool  hasAdx();

Check if the processor supports ADX extension


static bool  hasRdrand();

Check if the processor supports RDRAND


static bool  hasRdseed();

Check if the processor supports RDSEED


static bool  hasAltivec();

Check if the processor supports AltiVec/VMX