mirror of
https://github.com/herumi/xbyak
synced 2024-11-21 16:09:11 -07:00
add detection of AESKLE, WIDE_KL
This commit is contained in:
parent
e2d36c662c
commit
68a30b91fa
2 changed files with 9 additions and 0 deletions
|
@ -105,6 +105,8 @@ void putCPUinfo(bool onlyCpuidFeature)
|
|||
{ Cpu::tAVX_VNNI_INT16, "avx_vnni_int16" },
|
||||
{ Cpu::tAPX_F, "apx_f" },
|
||||
{ Cpu::tAVX10, "avx10" },
|
||||
{ Cpu::tAESKLE, "aeskle" },
|
||||
{ Cpu::tWIDE_KL, "wide_kl" },
|
||||
};
|
||||
for (size_t i = 0; i < NUM_OF_ARRAY(tbl); i++) {
|
||||
if (cpu.has(tbl[i].type)) printf(" %s", tbl[i].str);
|
||||
|
|
|
@ -473,6 +473,8 @@ public:
|
|||
XBYAK_DEFINE_TYPE(81, tAVX_VNNI_INT16);
|
||||
XBYAK_DEFINE_TYPE(82, tAPX_F);
|
||||
XBYAK_DEFINE_TYPE(83, tAVX10);
|
||||
XBYAK_DEFINE_TYPE(84, tAESKLE);
|
||||
XBYAK_DEFINE_TYPE(84, tWIDE_KL);
|
||||
|
||||
#undef XBYAK_SPLIT_ID
|
||||
#undef XBYAK_DEFINE_TYPE
|
||||
|
@ -635,6 +637,11 @@ public:
|
|||
if (EDX & (1U << 21)) type_ |= tAPX_F;
|
||||
}
|
||||
}
|
||||
if (maxNum >= 0x19) {
|
||||
getCpuidEx(0x19, 0, data);
|
||||
if (EBX & (1U << 0)) type_ |= tAESKLE;
|
||||
if (EBX & (1U << 2)) type_ |= tWIDE_KL;
|
||||
}
|
||||
if (has(tAVX10) && maxNum >= 0x24) {
|
||||
getCpuidEx(0x24, 0, data);
|
||||
avx10version_ = EBX & mask(7);
|
||||
|
|
Loading…
Reference in a new issue