Vector Optimized Library of Kernels  2.4
Architecture-tuned implementations of math kernels
cpuinfo_x86.h File Reference

Go to the source code of this file.

Data Structures

struct  X86Features
 
struct  X86Info
 

Enumerations

enum  X86Microarchitecture {
  X86_UNKNOWN, INTEL_CORE, INTEL_PNR, INTEL_NHM,
  INTEL_ATOM_BNL, INTEL_WSM, INTEL_SNB, INTEL_IVB,
  INTEL_ATOM_SMT, INTEL_HSW, INTEL_BDW, INTEL_SKL,
  INTEL_ATOM_GMT, INTEL_KBL, INTEL_CFL, INTEL_WHL,
  INTEL_CNL, INTEL_ICL, INTEL_TGL, INTEL_SPR,
  AMD_HAMMER, AMD_K10, AMD_BOBCAT, AMD_BULLDOZER,
  AMD_JAGUAR, AMD_ZEN
}
 
enum  X86FeaturesEnum {
  X86_FPU, X86_TSC, X86_CX8, X86_CLFSH,
  X86_MMX, X86_AES, X86_ERMS, X86_F16C,
  X86_FMA4, X86_FMA3, X86_VAES, X86_VPCLMULQDQ,
  X86_BMI1, X86_HLE, X86_BMI2, X86_RTM,
  X86_RDSEED, X86_CLFLUSHOPT, X86_CLWB, X86_SSE,
  X86_SSE2, X86_SSE3, X86_SSSE3, X86_SSE4_1,
  X86_SSE4_2, X86_SSE4A, X86_AVX, X86_AVX2,
  X86_AVX512F, X86_AVX512CD, X86_AVX512ER, X86_AVX512PF,
  X86_AVX512BW, X86_AVX512DQ, X86_AVX512VL, X86_AVX512IFMA,
  X86_AVX512VBMI, X86_AVX512VBMI2, X86_AVX512VNNI, X86_AVX512BITALG,
  X86_AVX512VPOPCNTDQ, X86_AVX512_4VNNIW, X86_AVX512_4VBMI2, X86_AVX512_SECOND_FMA,
  X86_AVX512_4FMAPS, X86_AVX512_BF16, X86_AVX512_VP2INTERSECT, X86_AMX_BF16,
  X86_AMX_TILE, X86_AMX_INT8, X86_PCLMULQDQ, X86_SMX,
  X86_SGX, X86_CX16, X86_SHA, X86_POPCNT,
  X86_MOVBE, X86_RDRND, X86_DCA, X86_SS,
  X86_LAST_
}
 

Functions

X86Info GetX86Info (void)
 
CacheInfo GetX86CacheInfo (void)
 
X86Microarchitecture GetX86Microarchitecture (const X86Info *info)
 
void FillX86BrandString (char brand_string[49])
 
int GetX86FeaturesEnumValue (const X86Features *features, X86FeaturesEnum value)
 
const char * GetX86FeaturesEnumName (X86FeaturesEnum)
 
const char * GetX86MicroarchitectureName (X86Microarchitecture)
 

Enumeration Type Documentation

◆ X86FeaturesEnum

Enumerator
X86_FPU 
X86_TSC 
X86_CX8 
X86_CLFSH 
X86_MMX 
X86_AES 
X86_ERMS 
X86_F16C 
X86_FMA4 
X86_FMA3 
X86_VAES 
X86_VPCLMULQDQ 
X86_BMI1 
X86_HLE 
X86_BMI2 
X86_RTM 
X86_RDSEED 
X86_CLFLUSHOPT 
X86_CLWB 
X86_SSE 
X86_SSE2 
X86_SSE3 
X86_SSSE3 
X86_SSE4_1 
X86_SSE4_2 
X86_SSE4A 
X86_AVX 
X86_AVX2 
X86_AVX512F 
X86_AVX512CD 
X86_AVX512ER 
X86_AVX512PF 
X86_AVX512BW 
X86_AVX512DQ 
X86_AVX512VL 
X86_AVX512IFMA 
X86_AVX512VBMI 
X86_AVX512VBMI2 
X86_AVX512VNNI 
X86_AVX512BITALG 
X86_AVX512VPOPCNTDQ 
X86_AVX512_4VNNIW 
X86_AVX512_4VBMI2 
X86_AVX512_SECOND_FMA 
X86_AVX512_4FMAPS 
X86_AVX512_BF16 
X86_AVX512_VP2INTERSECT 
X86_AMX_BF16 
X86_AMX_TILE 
X86_AMX_INT8 
X86_PCLMULQDQ 
X86_SMX 
X86_SGX 
X86_CX16 
X86_SHA 
X86_POPCNT 
X86_MOVBE 
X86_RDRND 
X86_DCA 
X86_SS 
X86_LAST_ 

◆ X86Microarchitecture

Enumerator
X86_UNKNOWN 
INTEL_CORE 
INTEL_PNR 
INTEL_NHM 
INTEL_ATOM_BNL 
INTEL_WSM 
INTEL_SNB 
INTEL_IVB 
INTEL_ATOM_SMT 
INTEL_HSW 
INTEL_BDW 
INTEL_SKL 
INTEL_ATOM_GMT 
INTEL_KBL 
INTEL_CFL 
INTEL_WHL 
INTEL_CNL 
INTEL_ICL 
INTEL_TGL 
INTEL_SPR 
AMD_HAMMER 
AMD_K10 
AMD_BOBCAT 
AMD_BULLDOZER 
AMD_JAGUAR 
AMD_ZEN 

Function Documentation

◆ FillX86BrandString()

void FillX86BrandString ( char  brand_string[49])

◆ GetX86CacheInfo()

CacheInfo GetX86CacheInfo ( void  )

◆ GetX86FeaturesEnumName()

const char* GetX86FeaturesEnumName ( X86FeaturesEnum  )

◆ GetX86FeaturesEnumValue()

int GetX86FeaturesEnumValue ( const X86Features features,
X86FeaturesEnum  value 
)

◆ GetX86Info()

X86Info GetX86Info ( void  )

◆ GetX86Microarchitecture()

X86Microarchitecture GetX86Microarchitecture ( const X86Info info)

◆ GetX86MicroarchitectureName()

const char* GetX86MicroarchitectureName ( X86Microarchitecture  )