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  value)

◆ GetX86FeaturesEnumValue()

int GetX86FeaturesEnumValue ( const X86Features features,
X86FeaturesEnum  value 
)

◆ GetX86Info()

X86Info GetX86Info ( void  )

◆ GetX86Microarchitecture()

X86Microarchitecture GetX86Microarchitecture ( const X86Info info)

◆ GetX86MicroarchitectureName()

const char* GetX86MicroarchitectureName ( X86Microarchitecture  uarch)