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