From 0afd71a27007a076247baf0ba6ca29018cdcd799 Mon Sep 17 00:00:00 2001 From: MITSUNARI Shigeo Date: Mon, 20 Feb 2023 09:10:10 +0900 Subject: [PATCH] add detection of SERIALIZE --- sample/test_util.cpp | 1 + xbyak/xbyak_util.h | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/sample/test_util.cpp b/sample/test_util.cpp index e011783..15240f1 100644 --- a/sample/test_util.cpp +++ b/sample/test_util.cpp @@ -88,6 +88,7 @@ void putCPUinfo(bool onlyCpuidFeature) { Cpu::tCLDEMOTE, "cldemote" }, { Cpu::tMOVDIRI, "movdiri" }, { Cpu::tMOVDIR64B, "movdir64b" }, + { Cpu::tSERIALIZE, "serialize" }, { Cpu::tCLZERO, "clzero" }, { Cpu::tAMX_FP16, "amx_fp16" }, { Cpu::tAVX_VNNI_INT8, "avx_vnni_int8" }, diff --git a/xbyak/xbyak_util.h b/xbyak/xbyak_util.h index 6d9906e..eba87e0 100644 --- a/xbyak/xbyak_util.h +++ b/xbyak/xbyak_util.h @@ -456,6 +456,7 @@ public: XBYAK_DEFINE_TYPE(72, tRAO_INT); XBYAK_DEFINE_TYPE(73, tCMPCCXADD); XBYAK_DEFINE_TYPE(74, tPREFETCHITI); + XBYAK_DEFINE_TYPE(75, tSERIALIZE); #undef XBYAK_SPLIT_ID #undef XBYAK_DEFINE_TYPE @@ -590,9 +591,10 @@ public: if (ECX & (1U << 25)) type_ |= tCLDEMOTE; if (ECX & (1U << 27)) type_ |= tMOVDIRI; if (ECX & (1U << 28)) type_ |= tMOVDIR64B; + if (EDX & (1U << 14)) type_ |= tSERIALIZE; + if (EDX & (1U << 22)) type_ |= tAMX_BF16; if (EDX & (1U << 24)) type_ |= tAMX_TILE; if (EDX & (1U << 25)) type_ |= tAMX_INT8; - if (EDX & (1U << 22)) type_ |= tAMX_BF16; if (maxNumSubLeaves >= 1) { getCpuidEx(7, 1, data); if (EAX & (1U << 3)) type_ |= tRAO_INT;