16#ifndef CPU_FEATURES_INCLUDE_CPUINFO_X86_H_
17#define CPU_FEATURES_INCLUDE_CPUINFO_X86_H_
25#define CPU_FEATURES_VENDOR_GENUINE_INTEL "GenuineIntel"
26#define CPU_FEATURES_VENDOR_AUTHENTIC_AMD "AuthenticAMD"
27#define CPU_FEATURES_VENDOR_HYGON_GENUINE "HygonGenuine"
251#if !defined(CPU_FEATURES_ARCH_X86)
252#error "Including cpuinfo_x86.h from a non-x86 target."
#define CPU_FEATURES_START_CPP_NAMESPACE
Definition: cpu_features_macros.h:127
#define CPU_FEATURES_END_CPP_NAMESPACE
Definition: cpu_features_macros.h:128
X86Microarchitecture
Definition: cpuinfo_x86.h:117
@ INTEL_HSW
Definition: cpuinfo_x86.h:130
@ INTEL_KNIGHTS_C
Definition: cpuinfo_x86.h:146
@ INTEL_CFL
Definition: cpuinfo_x86.h:135
@ INTEL_SKL
Definition: cpuinfo_x86.h:132
@ INTEL_PNR
Definition: cpuinfo_x86.h:123
@ AMD_ZEN2
Definition: cpuinfo_x86.h:161
@ INTEL_KBL
Definition: cpuinfo_x86.h:134
@ INTEL_RCL
Definition: cpuinfo_x86.h:142
@ INTEL_SNB
Definition: cpuinfo_x86.h:127
@ AMD_K11
Definition: cpuinfo_x86.h:150
@ INTEL_ICL
Definition: cpuinfo_x86.h:138
@ AMD_JAGUAR
Definition: cpuinfo_x86.h:157
@ INTEL_ATOM_GMT
Definition: cpuinfo_x86.h:133
@ INTEL_KNIGHTS_L
Definition: cpuinfo_x86.h:144
@ INTEL_ATOM_SMT
Definition: cpuinfo_x86.h:129
@ AMD_K10
Definition: cpuinfo_x86.h:149
@ INTEL_KNIGHTS_F
Definition: cpuinfo_x86.h:145
@ INTEL_WHL
Definition: cpuinfo_x86.h:136
@ X86_MICROARCHITECTURE_LAST_
Definition: cpuinfo_x86.h:163
@ INTEL_LAKEMONT
Definition: cpuinfo_x86.h:121
@ INTEL_P5
Definition: cpuinfo_x86.h:120
@ INTEL_CNL
Definition: cpuinfo_x86.h:137
@ AMD_K12
Definition: cpuinfo_x86.h:151
@ AMD_HAMMER
Definition: cpuinfo_x86.h:148
@ INTEL_WSM
Definition: cpuinfo_x86.h:126
@ AMD_STREAMROLLER
Definition: cpuinfo_x86.h:154
@ INTEL_NHM
Definition: cpuinfo_x86.h:124
@ AMD_BOBCAT
Definition: cpuinfo_x86.h:152
@ INTEL_ATOM_BNL
Definition: cpuinfo_x86.h:125
@ INTEL_BDW
Definition: cpuinfo_x86.h:131
@ INTEL_IVB
Definition: cpuinfo_x86.h:128
@ INTEL_SPR
Definition: cpuinfo_x86.h:140
@ AMD_EXCAVATOR
Definition: cpuinfo_x86.h:155
@ INTEL_CORE
Definition: cpuinfo_x86.h:122
@ INTEL_NETBURST
Definition: cpuinfo_x86.h:147
@ AMD_PILEDRIVER
Definition: cpuinfo_x86.h:153
@ X86_UNKNOWN
Definition: cpuinfo_x86.h:118
@ AMD_ZEN3
Definition: cpuinfo_x86.h:162
@ INTEL_ADL
Definition: cpuinfo_x86.h:141
@ AMD_ZEN_PLUS
Definition: cpuinfo_x86.h:160
@ INTEL_TGL
Definition: cpuinfo_x86.h:139
@ AMD_PUMA
Definition: cpuinfo_x86.h:158
@ INTEL_KNIGHTS_M
Definition: cpuinfo_x86.h:143
@ AMD_ZEN
Definition: cpuinfo_x86.h:159
@ AMD_BULLDOZER
Definition: cpuinfo_x86.h:156
@ INTEL_80486
Definition: cpuinfo_x86.h:119
void FillX86BrandString(char brand_string[49])
const char * GetX86FeaturesEnumName(X86FeaturesEnum)
const char * GetX86MicroarchitectureName(X86Microarchitecture)
int GetX86FeaturesEnumValue(const X86Features *features, X86FeaturesEnum value)
X86Microarchitecture GetX86Microarchitecture(const X86Info *info)
CacheInfo GetX86CacheInfo(void)
X86FeaturesEnum
Definition: cpuinfo_x86.h:178
@ X86_CLWB
Definition: cpuinfo_x86.h:197
@ X86_FPU
Definition: cpuinfo_x86.h:179
@ X86_RDRND
Definition: cpuinfo_x86.h:236
@ X86_AVX512VNNI
Definition: cpuinfo_x86.h:217
@ X86_AVX512VBMI
Definition: cpuinfo_x86.h:215
@ X86_AVX512PF
Definition: cpuinfo_x86.h:210
@ X86_SSE4A
Definition: cpuinfo_x86.h:204
@ X86_AVX512_4FMAPS
Definition: cpuinfo_x86.h:223
@ X86_CX16
Definition: cpuinfo_x86.h:232
@ X86_VPCLMULQDQ
Definition: cpuinfo_x86.h:190
@ X86_AVX512IFMA
Definition: cpuinfo_x86.h:214
@ X86_AVX512_SECOND_FMA
Definition: cpuinfo_x86.h:222
@ X86_BMI1
Definition: cpuinfo_x86.h:191
@ X86_SGX
Definition: cpuinfo_x86.h:231
@ X86_PCLMULQDQ
Definition: cpuinfo_x86.h:229
@ X86_ERMS
Definition: cpuinfo_x86.h:185
@ X86_SS
Definition: cpuinfo_x86.h:238
@ X86_AVX2
Definition: cpuinfo_x86.h:206
@ X86_AVX512VL
Definition: cpuinfo_x86.h:213
@ X86_SSSE3
Definition: cpuinfo_x86.h:201
@ X86_CX8
Definition: cpuinfo_x86.h:181
@ X86_SHA
Definition: cpuinfo_x86.h:233
@ X86_AVX512VBMI2
Definition: cpuinfo_x86.h:216
@ X86_AVX512ER
Definition: cpuinfo_x86.h:209
@ X86_AVX512BITALG
Definition: cpuinfo_x86.h:218
@ X86_RDSEED
Definition: cpuinfo_x86.h:195
@ X86_BMI2
Definition: cpuinfo_x86.h:193
@ X86_SMX
Definition: cpuinfo_x86.h:230
@ X86_F16C
Definition: cpuinfo_x86.h:186
@ X86_AVX512_VP2INTERSECT
Definition: cpuinfo_x86.h:225
@ X86_AVX512BW
Definition: cpuinfo_x86.h:211
@ X86_POPCNT
Definition: cpuinfo_x86.h:234
@ X86_FMA3
Definition: cpuinfo_x86.h:188
@ X86_AES
Definition: cpuinfo_x86.h:184
@ X86_MOVBE
Definition: cpuinfo_x86.h:235
@ X86_AVX512VPOPCNTDQ
Definition: cpuinfo_x86.h:219
@ X86_SSE4_2
Definition: cpuinfo_x86.h:203
@ X86_MMX
Definition: cpuinfo_x86.h:183
@ X86_DCA
Definition: cpuinfo_x86.h:237
@ X86_VAES
Definition: cpuinfo_x86.h:189
@ X86_AVX
Definition: cpuinfo_x86.h:205
@ X86_AVX512_4VBMI2
Definition: cpuinfo_x86.h:221
@ X86_SSE4_1
Definition: cpuinfo_x86.h:202
@ X86_FMA4
Definition: cpuinfo_x86.h:187
@ X86_SSE2
Definition: cpuinfo_x86.h:199
@ X86_SSE3
Definition: cpuinfo_x86.h:200
@ X86_LAST_
Definition: cpuinfo_x86.h:240
@ X86_AVX512F
Definition: cpuinfo_x86.h:207
@ X86_AMX_TILE
Definition: cpuinfo_x86.h:227
@ X86_TSC
Definition: cpuinfo_x86.h:180
@ X86_AVX512DQ
Definition: cpuinfo_x86.h:212
@ X86_ADX
Definition: cpuinfo_x86.h:239
@ X86_AVX512_BF16
Definition: cpuinfo_x86.h:224
@ X86_AMX_INT8
Definition: cpuinfo_x86.h:228
@ X86_HLE
Definition: cpuinfo_x86.h:192
@ X86_RTM
Definition: cpuinfo_x86.h:194
@ X86_CLFLUSHOPT
Definition: cpuinfo_x86.h:196
@ X86_CLFSH
Definition: cpuinfo_x86.h:182
@ X86_AVX512CD
Definition: cpuinfo_x86.h:208
@ X86_AMX_BF16
Definition: cpuinfo_x86.h:226
@ X86_AVX512_4VNNIW
Definition: cpuinfo_x86.h:220
@ X86_SSE
Definition: cpuinfo_x86.h:198
Definition: cpu_features_cache_info.h:47
Definition: cpuinfo_x86.h:31
int avx512_vp2intersect
Definition: cpuinfo_x86.h:81
int pclmulqdq
Definition: cpuinfo_x86.h:86
int ss
Definition: cpuinfo_x86.h:96
int sse2
Definition: cpuinfo_x86.h:53
int avx512ifma
Definition: cpuinfo_x86.h:70
int avx512dq
Definition: cpuinfo_x86.h:68
int avx512vbmi2
Definition: cpuinfo_x86.h:72
int avx2
Definition: cpuinfo_x86.h:61
int vaes
Definition: cpuinfo_x86.h:42
int avx512_4vnniw
Definition: cpuinfo_x86.h:76
int clwb
Definition: cpuinfo_x86.h:50
int rdseed
Definition: cpuinfo_x86.h:48
int bmi1
Definition: cpuinfo_x86.h:44
int sse
Definition: cpuinfo_x86.h:52
int adx
Definition: cpuinfo_x86.h:97
int clfsh
Definition: cpuinfo_x86.h:35
int vpclmulqdq
Definition: cpuinfo_x86.h:43
int ssse3
Definition: cpuinfo_x86.h:55
int avx512vpopcntdq
Definition: cpuinfo_x86.h:75
int popcnt
Definition: cpuinfo_x86.h:91
int aes
Definition: cpuinfo_x86.h:37
int avx512_bf16
Definition: cpuinfo_x86.h:80
int movbe
Definition: cpuinfo_x86.h:92
int avx512bw
Definition: cpuinfo_x86.h:67
int cx16
Definition: cpuinfo_x86.h:89
int mmx
Definition: cpuinfo_x86.h:36
int sse4_2
Definition: cpuinfo_x86.h:57
int avx
Definition: cpuinfo_x86.h:60
int bmi2
Definition: cpuinfo_x86.h:46
int avx512_second_fma
Definition: cpuinfo_x86.h:78
int sse4a
Definition: cpuinfo_x86.h:58
int amx_int8
Definition: cpuinfo_x86.h:84
int amx_bf16
Definition: cpuinfo_x86.h:82
int fma4
Definition: cpuinfo_x86.h:40
int amx_tile
Definition: cpuinfo_x86.h:83
int rtm
Definition: cpuinfo_x86.h:47
int avx512_4vbmi2
Definition: cpuinfo_x86.h:77
int sse3
Definition: cpuinfo_x86.h:54
int rdrnd
Definition: cpuinfo_x86.h:93
int avx512er
Definition: cpuinfo_x86.h:65
int dca
Definition: cpuinfo_x86.h:95
int avx512f
Definition: cpuinfo_x86.h:63
int avx512pf
Definition: cpuinfo_x86.h:66
int smx
Definition: cpuinfo_x86.h:87
int avx512vnni
Definition: cpuinfo_x86.h:73
int clflushopt
Definition: cpuinfo_x86.h:49
int fma3
Definition: cpuinfo_x86.h:41
int sse4_1
Definition: cpuinfo_x86.h:56
int cx8
Definition: cpuinfo_x86.h:34
int erms
Definition: cpuinfo_x86.h:38
int fpu
Definition: cpuinfo_x86.h:32
int tsc
Definition: cpuinfo_x86.h:33
int avx512_4fmaps
Definition: cpuinfo_x86.h:79
int avx512cd
Definition: cpuinfo_x86.h:64
int hle
Definition: cpuinfo_x86.h:45
int sha
Definition: cpuinfo_x86.h:90
int avx512vbmi
Definition: cpuinfo_x86.h:71
int f16c
Definition: cpuinfo_x86.h:39
int avx512bitalg
Definition: cpuinfo_x86.h:74
int sgx
Definition: cpuinfo_x86.h:88
int avx512vl
Definition: cpuinfo_x86.h:69
Definition: cpuinfo_x86.h:101
int model
Definition: cpuinfo_x86.h:104
int family
Definition: cpuinfo_x86.h:103
X86Features features
Definition: cpuinfo_x86.h:102
int stepping
Definition: cpuinfo_x86.h:105