detection of clflushopt

This commit is contained in:
MITSUNARI Shigeo 2022-05-11 14:04:22 +09:00
parent c061ac8390
commit 38c40c02e6
2 changed files with 4 additions and 0 deletions

View file

@ -84,6 +84,7 @@ void putCPUinfo()
{ Cpu::tAVX_VNNI, "avx_vnni" },
{ Cpu::tAVX512_FP16, "avx512_fp16" },
{ Cpu::tWAITPKG, "waitpkg" },
{ Cpu::tCLFLUSHOPT, "clflushopt" },
};
for (size_t i = 0; i < NUM_OF_ARRAY(tbl); i++) {
if (cpu.has(tbl[i].type)) printf(" %s", tbl[i].str);

View file

@ -428,6 +428,7 @@ public:
static const Type tAMX_INT8;
static const Type tAMX_BF16;
static const Type tAVX_VNNI;
static const Type tCLFLUSHOPT;
CpuT()
: type_(NONE)
@ -543,6 +544,7 @@ public:
if (EBX & (1U << 18)) type_ |= tRDSEED;
if (EBX & (1U << 19)) type_ |= tADX;
if (EBX & (1U << 20)) type_ |= tSMAP;
if (EBX & (1U << 23)) type_ |= tCLFLUSHOPT;
if (EBX & (1U << 4)) type_ |= tHLE;
if (EBX & (1U << 11)) type_ |= tRTM;
if (EBX & (1U << 14)) type_ |= tMPX;
@ -647,6 +649,7 @@ template<int dummy> const Type CpuT<dummy>::tAMX_TILE = uint64_t(1) << 59;
template<int dummy> const Type CpuT<dummy>::tAMX_INT8 = uint64_t(1) << 60;
template<int dummy> const Type CpuT<dummy>::tAMX_BF16 = uint64_t(1) << 61;
template<int dummy> const Type CpuT<dummy>::tAVX_VNNI = uint64_t(1) << 62;
template<int dummy> const Type CpuT<dummy>::tCLFLUSHOPT = Type(1) << 63;
} // local