Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
Xbyak::util::Cpu Class Reference

#include <xbyak_util.h>

Public Types

typedef uint64 Type
 

Public Member Functions

unsigned int getDataCacheLevels () const
 
unsigned int getCoresSharingDataCache (unsigned int i) const
 
unsigned int getDataCacheSize (unsigned int i) const
 
 Cpu ()
 
void putFamily () const
 
bool has (Type type) const
 

Static Public Member Functions

static void getCpuid (unsigned int eaxIn, unsigned int data[4])
 
static void getCpuidEx (unsigned int eaxIn, unsigned int ecxIn, unsigned int data[4])
 
static uint64 getXfeature ()
 

Public Attributes

int model
 
int family
 
int stepping
 
int extModel
 
int extFamily
 
int displayFamily
 
int displayModel
 
unsigned int data_cache_size [maxNumberCacheLevels]
 
unsigned int cores_sharing_data_cache [maxNumberCacheLevels]
 
unsigned int data_cache_levels
 

Static Public Attributes

static const unsigned int maxNumberCacheLevels = 10
 
static const Type NONE = 0
 
static const Type tMMX = 1 << 0
 
static const Type tMMX2 = 1 << 1
 
static const Type tCMOV = 1 << 2
 
static const Type tSSE = 1 << 3
 
static const Type tSSE2 = 1 << 4
 
static const Type tSSE3 = 1 << 5
 
static const Type tSSSE3 = 1 << 6
 
static const Type tSSE41 = 1 << 7
 
static const Type tSSE42 = 1 << 8
 
static const Type tPOPCNT = 1 << 9
 
static const Type tAESNI = 1 << 10
 
static const Type tSSE5 = 1 << 11
 
static const Type tOSXSAVE = 1 << 12
 
static const Type tPCLMULQDQ = 1 << 13
 
static const Type tAVX = 1 << 14
 
static const Type tFMA = 1 << 15
 
static const Type t3DN = 1 << 16
 
static const Type tE3DN = 1 << 17
 
static const Type tSSE4a = 1 << 18
 
static const Type tRDTSCP = 1 << 19
 
static const Type tAVX2 = 1 << 20
 
static const Type tBMI1 = 1 << 21
 
static const Type tBMI2 = 1 << 22
 
static const Type tLZCNT = 1 << 23
 
static const Type tINTEL = 1 << 24
 
static const Type tAMD = 1 << 25
 
static const Type tENHANCED_REP = 1 << 26
 
static const Type tRDRAND = 1 << 27
 
static const Type tADX = 1 << 28
 
static const Type tRDSEED = 1 << 29
 
static const Type tSMAP = 1 << 30
 
static const Type tHLE = uint64(1) << 31
 
static const Type tRTM = uint64(1) << 32
 
static const Type tF16C = uint64(1) << 33
 
static const Type tMOVBE = uint64(1) << 34
 
static const Type tAVX512F = uint64(1) << 35
 
static const Type tAVX512DQ = uint64(1) << 36
 
static const Type tAVX512_IFMA = uint64(1) << 37
 
static const Type tAVX512IFMA = tAVX512_IFMA
 
static const Type tAVX512PF = uint64(1) << 38
 
static const Type tAVX512ER = uint64(1) << 39
 
static const Type tAVX512CD = uint64(1) << 40
 
static const Type tAVX512BW = uint64(1) << 41
 
static const Type tAVX512VL = uint64(1) << 42
 
static const Type tAVX512_VBMI = uint64(1) << 43
 
static const Type tAVX512VBMI = tAVX512_VBMI
 
static const Type tAVX512_4VNNIW = uint64(1) << 44
 
static const Type tAVX512_4FMAPS = uint64(1) << 45
 
static const Type tPREFETCHWT1 = uint64(1) << 46
 
static const Type tPREFETCHW = uint64(1) << 47
 
static const Type tSHA = uint64(1) << 48
 
static const Type tMPX = uint64(1) << 49
 
static const Type tAVX512_VBMI2 = uint64(1) << 50
 
static const Type tGFNI = uint64(1) << 51
 
static const Type tVAES = uint64(1) << 52
 
static const Type tVPCLMULQDQ = uint64(1) << 53
 
static const Type tAVX512_VNNI = uint64(1) << 54
 
static const Type tAVX512_BITALG = uint64(1) << 55
 
static const Type tAVX512_VPOPCNTDQ = uint64(1) << 56
 

Detailed Description

CPU detection class

Definition at line 56 of file xbyak_util.h.

Member Typedef Documentation

◆ Type

Definition at line 200 of file xbyak_util.h.

Constructor & Destructor Documentation

◆ Cpu()

Xbyak::util::Cpu::Cpu ( )
inline

Definition at line 266 of file xbyak_util.h.

267 : type_(NONE)
269 {
270 unsigned int data[4];
271 const unsigned int& EAX = data[0];
272 const unsigned int& EBX = data[1];
273 const unsigned int& ECX = data[2];
274 const unsigned int& EDX = data[3];
275 getCpuid(0, data);
276 const unsigned int maxNum = EAX;
277 static const char intel[] = "ntel";
278 static const char amd[] = "cAMD";
279 if (ECX == get32bitAsBE(amd)) {
280 type_ |= tAMD;
281 getCpuid(0x80000001, data);
282 if (EDX & (1U << 31)) type_ |= t3DN;
283 if (EDX & (1U << 15)) type_ |= tCMOV;
284 if (EDX & (1U << 30)) type_ |= tE3DN;
285 if (EDX & (1U << 22)) type_ |= tMMX2;
286 if (EDX & (1U << 27)) type_ |= tRDTSCP;
287 }
288 if (ECX == get32bitAsBE(intel)) {
289 type_ |= tINTEL;
290 getCpuid(0x80000001, data);
291 if (EDX & (1U << 27)) type_ |= tRDTSCP;
292 if (ECX & (1U << 5)) type_ |= tLZCNT;
293 if (ECX & (1U << 8)) type_ |= tPREFETCHW;
294 }
295 getCpuid(1, data);
296 if (ECX & (1U << 0)) type_ |= tSSE3;
297 if (ECX & (1U << 9)) type_ |= tSSSE3;
298 if (ECX & (1U << 19)) type_ |= tSSE41;
299 if (ECX & (1U << 20)) type_ |= tSSE42;
300 if (ECX & (1U << 22)) type_ |= tMOVBE;
301 if (ECX & (1U << 23)) type_ |= tPOPCNT;
302 if (ECX & (1U << 25)) type_ |= tAESNI;
303 if (ECX & (1U << 1)) type_ |= tPCLMULQDQ;
304 if (ECX & (1U << 27)) type_ |= tOSXSAVE;
305 if (ECX & (1U << 30)) type_ |= tRDRAND;
306 if (ECX & (1U << 29)) type_ |= tF16C;
307
308 if (EDX & (1U << 15)) type_ |= tCMOV;
309 if (EDX & (1U << 23)) type_ |= tMMX;
310 if (EDX & (1U << 25)) type_ |= tMMX2 | tSSE;
311 if (EDX & (1U << 26)) type_ |= tSSE2;
312
313 if (type_ & tOSXSAVE) {
314 // check XFEATURE_ENABLED_MASK[2:1] = '11b'
315 uint64 bv = getXfeature();
316 if ((bv & 6) == 6) {
317 if (ECX & (1U << 28)) type_ |= tAVX;
318 if (ECX & (1U << 12)) type_ |= tFMA;
319 if (((bv >> 5) & 7) == 7) {
320 getCpuidEx(7, 0, data);
321 if (EBX & (1U << 16)) type_ |= tAVX512F;
322 if (type_ & tAVX512F) {
323 if (EBX & (1U << 17)) type_ |= tAVX512DQ;
324 if (EBX & (1U << 21)) type_ |= tAVX512_IFMA;
325 if (EBX & (1U << 26)) type_ |= tAVX512PF;
326 if (EBX & (1U << 27)) type_ |= tAVX512ER;
327 if (EBX & (1U << 28)) type_ |= tAVX512CD;
328 if (EBX & (1U << 30)) type_ |= tAVX512BW;
329 if (EBX & (1U << 31)) type_ |= tAVX512VL;
330 if (ECX & (1U << 1)) type_ |= tAVX512_VBMI;
331 if (ECX & (1U << 6)) type_ |= tAVX512_VBMI2;
332 if (ECX & (1U << 8)) type_ |= tGFNI;
333 if (ECX & (1U << 9)) type_ |= tVAES;
334 if (ECX & (1U << 10)) type_ |= tVPCLMULQDQ;
335 if (ECX & (1U << 11)) type_ |= tAVX512_VNNI;
336 if (ECX & (1U << 12)) type_ |= tAVX512_BITALG;
337 if (ECX & (1U << 14)) type_ |= tAVX512_VPOPCNTDQ;
338 if (EDX & (1U << 2)) type_ |= tAVX512_4VNNIW;
339 if (EDX & (1U << 3)) type_ |= tAVX512_4FMAPS;
340 }
341 }
342 }
343 }
344 if (maxNum >= 7) {
345 getCpuidEx(7, 0, data);
346 if (type_ & tAVX && (EBX & (1U << 5))) type_ |= tAVX2;
347 if (EBX & (1U << 3)) type_ |= tBMI1;
348 if (EBX & (1U << 8)) type_ |= tBMI2;
349 if (EBX & (1U << 9)) type_ |= tENHANCED_REP;
350 if (EBX & (1U << 18)) type_ |= tRDSEED;
351 if (EBX & (1U << 19)) type_ |= tADX;
352 if (EBX & (1U << 20)) type_ |= tSMAP;
353 if (EBX & (1U << 4)) type_ |= tHLE;
354 if (EBX & (1U << 11)) type_ |= tRTM;
355 if (EBX & (1U << 14)) type_ |= tMPX;
356 if (EBX & (1U << 29)) type_ |= tSHA;
357 if (ECX & (1U << 0)) type_ |= tPREFETCHWT1;
358 }
359 setFamily();
360 setCacheHierarchy();
361 }
static const Type tMOVBE
Definition xbyak_util.h:240
static const Type tAVX512PF
Definition xbyak_util.h:245
static const Type tRDRAND
Definition xbyak_util.h:233
static const Type tMPX
Definition xbyak_util.h:257
static const Type tBMI1
Definition xbyak_util.h:225
static const Type tPREFETCHW
Definition xbyak_util.h:255
static const Type tSSE41
Definition xbyak_util.h:210
static const Type NONE
Definition xbyak_util.h:202
static const Type tFMA
Definition xbyak_util.h:218
static const Type tLZCNT
Definition xbyak_util.h:227
static void getCpuid(unsigned int eaxIn, unsigned int data[4])
Definition xbyak_util.h:172
static const Type tAVX512_VBMI
Definition xbyak_util.h:250
static void getCpuidEx(unsigned int eaxIn, unsigned int ecxIn, unsigned int data[4])
Definition xbyak_util.h:180
static const Type tRTM
Definition xbyak_util.h:238
static const Type tAVX512_VPOPCNTDQ
Definition xbyak_util.h:264
static const Type tAVX512_BITALG
Definition xbyak_util.h:263
static const Type tOSXSAVE
Definition xbyak_util.h:215
static const Type tAVX
Definition xbyak_util.h:217
static const Type tPCLMULQDQ
Definition xbyak_util.h:216
static const Type tBMI2
Definition xbyak_util.h:226
static const Type tSMAP
Definition xbyak_util.h:236
static const Type tPREFETCHWT1
Definition xbyak_util.h:254
static const Type tADX
Definition xbyak_util.h:234
static const Type tAVX512CD
Definition xbyak_util.h:247
static const Type tMMX2
Definition xbyak_util.h:204
static const Type t3DN
Definition xbyak_util.h:220
static const Type tVPCLMULQDQ
Definition xbyak_util.h:261
unsigned int data_cache_levels
Definition xbyak_util.h:155
static const Type tAVX512_4VNNIW
Definition xbyak_util.h:252
static const Type tAVX512_IFMA
Definition xbyak_util.h:243
static const Type tHLE
Definition xbyak_util.h:237
static const Type tAVX512BW
Definition xbyak_util.h:248
static const Type tAVX512_VNNI
Definition xbyak_util.h:262
static const Type tCMOV
Definition xbyak_util.h:205
static const Type tAVX512ER
Definition xbyak_util.h:246
static const Type tAESNI
Definition xbyak_util.h:213
static const Type tSHA
Definition xbyak_util.h:256
static const Type tSSE42
Definition xbyak_util.h:211
static uint64 getXfeature()
Definition xbyak_util.h:188
static const Type tSSSE3
Definition xbyak_util.h:209
static const Type tAMD
Definition xbyak_util.h:230
static const Type tRDSEED
Definition xbyak_util.h:235
static const Type tSSE3
Definition xbyak_util.h:208
static const Type tPOPCNT
Definition xbyak_util.h:212
static const Type tE3DN
Definition xbyak_util.h:221
static const Type tSSE2
Definition xbyak_util.h:207
static const Type tMMX
Definition xbyak_util.h:203
static const Type tGFNI
Definition xbyak_util.h:259
static const Type tRDTSCP
Definition xbyak_util.h:223
static const Type tENHANCED_REP
Definition xbyak_util.h:232
static const Type tVAES
Definition xbyak_util.h:260
static const Type tAVX512DQ
Definition xbyak_util.h:242
static const Type tAVX512_VBMI2
Definition xbyak_util.h:258
static const Type tSSE
Definition xbyak_util.h:206
static const Type tF16C
Definition xbyak_util.h:239
static const Type tAVX512VL
Definition xbyak_util.h:249
static const Type tAVX2
Definition xbyak_util.h:224
static const Type tINTEL
Definition xbyak_util.h:229
static const Type tAVX512F
Definition xbyak_util.h:241
static const Type tAVX512_4FMAPS
Definition xbyak_util.h:253
const uint64 EAX
Definition make_512.cpp:16
Xbyak::uint64 uint64
Definition quantize.cpp:51
Here is the call graph for this function:

Member Function Documentation

◆ getCoresSharingDataCache()

unsigned int Xbyak::util::Cpu::getCoresSharingDataCache ( unsigned int i) const
inline

Definition at line 158 of file xbyak_util.h.

159 {
161 return cores_sharing_data_cache[i];
162 }
Error
Definition calc.cpp:23
unsigned int cores_sharing_data_cache[maxNumberCacheLevels]
Definition xbyak_util.h:154
@ ERR_BAD_PARAMETER
Definition xbyak.h:150
Here is the caller graph for this function:

◆ getCpuid()

static void Xbyak::util::Cpu::getCpuid ( unsigned int eaxIn,
unsigned int data[4] )
inlinestatic

Definition at line 172 of file xbyak_util.h.

173 {
174#ifdef _MSC_VER
175 __cpuid(reinterpret_cast<int*>(data), eaxIn);
176#else
177 __cpuid(eaxIn, data[0], data[1], data[2], data[3]);
178#endif
179 }
#define __cpuid(eaxIn, a, b, c, d)
Definition xbyak_util.h:45
Here is the caller graph for this function:

◆ getCpuidEx()

static void Xbyak::util::Cpu::getCpuidEx ( unsigned int eaxIn,
unsigned int ecxIn,
unsigned int data[4] )
inlinestatic

Definition at line 180 of file xbyak_util.h.

181 {
182#ifdef _MSC_VER
183 __cpuidex(reinterpret_cast<int*>(data), eaxIn, ecxIn);
184#else
185 __cpuid_count(eaxIn, ecxIn, data[0], data[1], data[2], data[3]);
186#endif
187 }
#define __cpuid_count(eaxIn, ecxIn, a, b, c, d)
Definition xbyak_util.h:46
Here is the caller graph for this function:

◆ getDataCacheLevels()

unsigned int Xbyak::util::Cpu::getDataCacheLevels ( ) const
inline

Definition at line 157 of file xbyak_util.h.

157{ return data_cache_levels; }
Here is the caller graph for this function:

◆ getDataCacheSize()

unsigned int Xbyak::util::Cpu::getDataCacheSize ( unsigned int i) const
inline

Definition at line 163 of file xbyak_util.h.

164 {
166 return data_cache_size[i];
167 }
unsigned int data_cache_size[maxNumberCacheLevels]
Definition xbyak_util.h:153
Here is the caller graph for this function:

◆ getXfeature()

static uint64 Xbyak::util::Cpu::getXfeature ( )
inlinestatic

Definition at line 188 of file xbyak_util.h.

189 {
190#ifdef _MSC_VER
191 return _xgetbv(0);
192#else
193 unsigned int eax, edx;
194 // xgetvb is not support on gcc 4.2
195// __asm__ volatile("xgetbv" : "=a"(eax), "=d"(edx) : "c"(0));
196 __asm__ volatile(".byte 0x0f, 0x01, 0xd0" : "=a"(eax), "=d"(edx) : "c"(0));
197 return ((uint64)edx << 32) | eax;
198#endif
199 }
static const Reg32 edx(Operand::EDX)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ has()

bool Xbyak::util::Cpu::has ( Type type) const
inline

Definition at line 368 of file xbyak_util.h.

369 {
370 return (type & type_) != 0;
371 }
Here is the caller graph for this function:

◆ putFamily()

void Xbyak::util::Cpu::putFamily ( ) const
inline

Definition at line 362 of file xbyak_util.h.

363 {
364 printf("family=%d, model=%X, stepping=%d, extFamily=%d, extModel=%X\n",
366 printf("display:family=%X, model=%X\n", displayFamily, displayModel);
367 }
LOGGING_API void printf(Category category, const char *format,...)
Definition Logging.cpp:30
Here is the caller graph for this function:

Member Data Documentation

◆ cores_sharing_data_cache

unsigned int Xbyak::util::Cpu::cores_sharing_data_cache[maxNumberCacheLevels]

Definition at line 154 of file xbyak_util.h.

◆ data_cache_levels

unsigned int Xbyak::util::Cpu::data_cache_levels

Definition at line 155 of file xbyak_util.h.

◆ data_cache_size

unsigned int Xbyak::util::Cpu::data_cache_size[maxNumberCacheLevels]

Definition at line 153 of file xbyak_util.h.

◆ displayFamily

int Xbyak::util::Cpu::displayFamily

Definition at line 148 of file xbyak_util.h.

◆ displayModel

int Xbyak::util::Cpu::displayModel

Definition at line 149 of file xbyak_util.h.

◆ extFamily

int Xbyak::util::Cpu::extFamily

Definition at line 147 of file xbyak_util.h.

◆ extModel

int Xbyak::util::Cpu::extModel

Definition at line 146 of file xbyak_util.h.

◆ family

int Xbyak::util::Cpu::family

Definition at line 144 of file xbyak_util.h.

◆ maxNumberCacheLevels

const unsigned int Xbyak::util::Cpu::maxNumberCacheLevels = 10
static

Definition at line 152 of file xbyak_util.h.

◆ model

int Xbyak::util::Cpu::model

Definition at line 143 of file xbyak_util.h.

◆ NONE

const Type Xbyak::util::Cpu::NONE = 0
static

Definition at line 202 of file xbyak_util.h.

◆ stepping

int Xbyak::util::Cpu::stepping

Definition at line 145 of file xbyak_util.h.

◆ t3DN

const Type Xbyak::util::Cpu::t3DN = 1 << 16
static

Definition at line 220 of file xbyak_util.h.

◆ tADX

const Type Xbyak::util::Cpu::tADX = 1 << 28
static

Definition at line 234 of file xbyak_util.h.

◆ tAESNI

const Type Xbyak::util::Cpu::tAESNI = 1 << 10
static

Definition at line 213 of file xbyak_util.h.

◆ tAMD

const Type Xbyak::util::Cpu::tAMD = 1 << 25
static

Definition at line 230 of file xbyak_util.h.

◆ tAVX

const Type Xbyak::util::Cpu::tAVX = 1 << 14
static

Definition at line 217 of file xbyak_util.h.

◆ tAVX2

const Type Xbyak::util::Cpu::tAVX2 = 1 << 20
static

Definition at line 224 of file xbyak_util.h.

◆ tAVX512_4FMAPS

const Type Xbyak::util::Cpu::tAVX512_4FMAPS = uint64(1) << 45
static

Definition at line 253 of file xbyak_util.h.

◆ tAVX512_4VNNIW

const Type Xbyak::util::Cpu::tAVX512_4VNNIW = uint64(1) << 44
static

Definition at line 252 of file xbyak_util.h.

◆ tAVX512_BITALG

const Type Xbyak::util::Cpu::tAVX512_BITALG = uint64(1) << 55
static

Definition at line 263 of file xbyak_util.h.

◆ tAVX512_IFMA

const Type Xbyak::util::Cpu::tAVX512_IFMA = uint64(1) << 37
static

Definition at line 243 of file xbyak_util.h.

◆ tAVX512_VBMI

const Type Xbyak::util::Cpu::tAVX512_VBMI = uint64(1) << 43
static

Definition at line 250 of file xbyak_util.h.

◆ tAVX512_VBMI2

const Type Xbyak::util::Cpu::tAVX512_VBMI2 = uint64(1) << 50
static

Definition at line 258 of file xbyak_util.h.

◆ tAVX512_VNNI

const Type Xbyak::util::Cpu::tAVX512_VNNI = uint64(1) << 54
static

Definition at line 262 of file xbyak_util.h.

◆ tAVX512_VPOPCNTDQ

const Type Xbyak::util::Cpu::tAVX512_VPOPCNTDQ = uint64(1) << 56
static

Definition at line 264 of file xbyak_util.h.

◆ tAVX512BW

const Type Xbyak::util::Cpu::tAVX512BW = uint64(1) << 41
static

Definition at line 248 of file xbyak_util.h.

◆ tAVX512CD

const Type Xbyak::util::Cpu::tAVX512CD = uint64(1) << 40
static

Definition at line 247 of file xbyak_util.h.

◆ tAVX512DQ

const Type Xbyak::util::Cpu::tAVX512DQ = uint64(1) << 36
static

Definition at line 242 of file xbyak_util.h.

◆ tAVX512ER

const Type Xbyak::util::Cpu::tAVX512ER = uint64(1) << 39
static

Definition at line 246 of file xbyak_util.h.

◆ tAVX512F

const Type Xbyak::util::Cpu::tAVX512F = uint64(1) << 35
static

Definition at line 241 of file xbyak_util.h.

◆ tAVX512IFMA

const Type Xbyak::util::Cpu::tAVX512IFMA = tAVX512_IFMA
static

Definition at line 244 of file xbyak_util.h.

◆ tAVX512PF

const Type Xbyak::util::Cpu::tAVX512PF = uint64(1) << 38
static

Definition at line 245 of file xbyak_util.h.

◆ tAVX512VBMI

const Type Xbyak::util::Cpu::tAVX512VBMI = tAVX512_VBMI
static

Definition at line 251 of file xbyak_util.h.

◆ tAVX512VL

const Type Xbyak::util::Cpu::tAVX512VL = uint64(1) << 42
static

Definition at line 249 of file xbyak_util.h.

◆ tBMI1

const Type Xbyak::util::Cpu::tBMI1 = 1 << 21
static

Definition at line 225 of file xbyak_util.h.

◆ tBMI2

const Type Xbyak::util::Cpu::tBMI2 = 1 << 22
static

Definition at line 226 of file xbyak_util.h.

◆ tCMOV

const Type Xbyak::util::Cpu::tCMOV = 1 << 2
static

Definition at line 205 of file xbyak_util.h.

◆ tE3DN

const Type Xbyak::util::Cpu::tE3DN = 1 << 17
static

Definition at line 221 of file xbyak_util.h.

◆ tENHANCED_REP

const Type Xbyak::util::Cpu::tENHANCED_REP = 1 << 26
static

Definition at line 232 of file xbyak_util.h.

◆ tF16C

const Type Xbyak::util::Cpu::tF16C = uint64(1) << 33
static

Definition at line 239 of file xbyak_util.h.

◆ tFMA

const Type Xbyak::util::Cpu::tFMA = 1 << 15
static

Definition at line 218 of file xbyak_util.h.

◆ tGFNI

const Type Xbyak::util::Cpu::tGFNI = uint64(1) << 51
static

Definition at line 259 of file xbyak_util.h.

◆ tHLE

const Type Xbyak::util::Cpu::tHLE = uint64(1) << 31
static

Definition at line 237 of file xbyak_util.h.

◆ tINTEL

const Type Xbyak::util::Cpu::tINTEL = 1 << 24
static

Definition at line 229 of file xbyak_util.h.

◆ tLZCNT

const Type Xbyak::util::Cpu::tLZCNT = 1 << 23
static

Definition at line 227 of file xbyak_util.h.

◆ tMMX

const Type Xbyak::util::Cpu::tMMX = 1 << 0
static

Definition at line 203 of file xbyak_util.h.

◆ tMMX2

const Type Xbyak::util::Cpu::tMMX2 = 1 << 1
static

Definition at line 204 of file xbyak_util.h.

◆ tMOVBE

const Type Xbyak::util::Cpu::tMOVBE = uint64(1) << 34
static

Definition at line 240 of file xbyak_util.h.

◆ tMPX

const Type Xbyak::util::Cpu::tMPX = uint64(1) << 49
static

Definition at line 257 of file xbyak_util.h.

◆ tOSXSAVE

const Type Xbyak::util::Cpu::tOSXSAVE = 1 << 12
static

Definition at line 215 of file xbyak_util.h.

◆ tPCLMULQDQ

const Type Xbyak::util::Cpu::tPCLMULQDQ = 1 << 13
static

Definition at line 216 of file xbyak_util.h.

◆ tPOPCNT

const Type Xbyak::util::Cpu::tPOPCNT = 1 << 9
static

Definition at line 212 of file xbyak_util.h.

◆ tPREFETCHW

const Type Xbyak::util::Cpu::tPREFETCHW = uint64(1) << 47
static

Definition at line 255 of file xbyak_util.h.

◆ tPREFETCHWT1

const Type Xbyak::util::Cpu::tPREFETCHWT1 = uint64(1) << 46
static

Definition at line 254 of file xbyak_util.h.

◆ tRDRAND

const Type Xbyak::util::Cpu::tRDRAND = 1 << 27
static

Definition at line 233 of file xbyak_util.h.

◆ tRDSEED

const Type Xbyak::util::Cpu::tRDSEED = 1 << 29
static

Definition at line 235 of file xbyak_util.h.

◆ tRDTSCP

const Type Xbyak::util::Cpu::tRDTSCP = 1 << 19
static

Definition at line 223 of file xbyak_util.h.

◆ tRTM

const Type Xbyak::util::Cpu::tRTM = uint64(1) << 32
static

Definition at line 238 of file xbyak_util.h.

◆ tSHA

const Type Xbyak::util::Cpu::tSHA = uint64(1) << 48
static

Definition at line 256 of file xbyak_util.h.

◆ tSMAP

const Type Xbyak::util::Cpu::tSMAP = 1 << 30
static

Definition at line 236 of file xbyak_util.h.

◆ tSSE

const Type Xbyak::util::Cpu::tSSE = 1 << 3
static

Definition at line 206 of file xbyak_util.h.

◆ tSSE2

const Type Xbyak::util::Cpu::tSSE2 = 1 << 4
static

Definition at line 207 of file xbyak_util.h.

◆ tSSE3

const Type Xbyak::util::Cpu::tSSE3 = 1 << 5
static

Definition at line 208 of file xbyak_util.h.

◆ tSSE41

const Type Xbyak::util::Cpu::tSSE41 = 1 << 7
static

Definition at line 210 of file xbyak_util.h.

◆ tSSE42

const Type Xbyak::util::Cpu::tSSE42 = 1 << 8
static

Definition at line 211 of file xbyak_util.h.

◆ tSSE4a

const Type Xbyak::util::Cpu::tSSE4a = 1 << 18
static

Definition at line 222 of file xbyak_util.h.

◆ tSSE5

const Type Xbyak::util::Cpu::tSSE5 = 1 << 11
static

Definition at line 214 of file xbyak_util.h.

◆ tSSSE3

const Type Xbyak::util::Cpu::tSSSE3 = 1 << 6
static

Definition at line 209 of file xbyak_util.h.

◆ tVAES

const Type Xbyak::util::Cpu::tVAES = uint64(1) << 52
static

Definition at line 260 of file xbyak_util.h.

◆ tVPCLMULQDQ

const Type Xbyak::util::Cpu::tVPCLMULQDQ = uint64(1) << 53
static

Definition at line 261 of file xbyak_util.h.


The documentation for this class was generated from the following file: