From f3ab810ba8f5f8a988c7bb8868930a8ddf80ab2f Mon Sep 17 00:00:00 2001 From: MITSUNARI Shigeo Date: Tue, 11 Jun 2024 16:45:37 +0900 Subject: [PATCH] add detection of tsxldtrk --- sample/test_util.cpp | 1 + xbyak/xbyak_util.h | 2 ++ 2 files changed, 3 insertions(+) diff --git a/sample/test_util.cpp b/sample/test_util.cpp index 25d776d..870e060 100644 --- a/sample/test_util.cpp +++ b/sample/test_util.cpp @@ -111,6 +111,7 @@ void putCPUinfo(bool onlyCpuidFeature) { Cpu::tWIDE_KL, "wide_kl" }, { Cpu::tKEYLOCKER, "keylocker" }, { Cpu::tKEYLOCKER_WIDE, "keylocker_wide" }, + { Cpu::tTSXLDTRK, "tsxldtrk" }, }; for (size_t i = 0; i < NUM_OF_ARRAY(tbl); i++) { if (cpu.has(tbl[i].type)) printf(" %s", tbl[i].str); diff --git a/xbyak/xbyak_util.h b/xbyak/xbyak_util.h index dd42879..1f138e3 100644 --- a/xbyak/xbyak_util.h +++ b/xbyak/xbyak_util.h @@ -547,6 +547,7 @@ public: XBYAK_DEFINE_TYPE(87, tKEYLOCKER_WIDE); XBYAK_DEFINE_TYPE(88, tSSE4a); XBYAK_DEFINE_TYPE(89, tCLWB); + XBYAK_DEFINE_TYPE(90, tTSXLDTRK); #undef XBYAK_SPLIT_ID #undef XBYAK_DEFINE_TYPE @@ -684,6 +685,7 @@ public: if (ECX & (1U << 28)) type_ |= tMOVDIR64B; if (EDX & (1U << 5)) type_ |= tUINTR; if (EDX & (1U << 14)) type_ |= tSERIALIZE; + if (EDX & (1U << 16)) type_ |= tTSXLDTRK; if (EDX & (1U << 22)) type_ |= tAMX_BF16; if (EDX & (1U << 24)) type_ |= tAMX_TILE; if (EDX & (1U << 25)) type_ |= tAMX_INT8;