diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
new file mode 100644
index 0000000..5f91cab
--- /dev/null
+++ b/.github/CONTRIBUTING.md
@@ -0,0 +1,32 @@
+# Contributing to Xbyak
+
+Thank you for considering contributing to the Xbyak project. This document provides guidelines on how to contribute.
+
+## Bug Reports and Feedback
+
+If you find a bug, have a feature request, or have questions, please open an issue. Include the following information:
+
+- Detailed description of the problem
+- Steps to reproduce
+- Expected behavior
+- Actual behavior
+- Environment details (OS, compiler version, etc.)
+
+## Creating Pull Requests
+
+If you want to add features or make fixes, follow these steps to create a pull request:
+
+1. Fork the repository
+2. Create a new branch: `git checkout -b my-feature-branch`
+3. Make your changes
+4. Run tests and ensure all tests pass
+5. Commit your changes: `git commit -am 'Add new feature'`
+6. Push the branch: `git push origin my-feature-branch`
+7. Create a pull request
+
+When creating a pull request, clearly describe the changes and include any related issue numbers.
+
+## License
+
+Xbyak is released under the BSD-3-Clause License. Any code contributions will be licensed under the same license.
+
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 0e291ae..2e72a89 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -14,7 +14,7 @@
     container:
       image: debian:testing
     steps:
-    - uses: actions/checkout@v3
+    - uses: actions/checkout@v4
     - run: apt -y update
     - run: apt -y install g++-multilib libboost-dev make nasm yasm
     - run: make test
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 361a98f..598836a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.5)
 
-project(xbyak LANGUAGES CXX VERSION 7.06)
+project(xbyak LANGUAGES CXX VERSION 7.07)
 
 file(GLOB headers xbyak/*.h)
 
diff --git a/doc/changelog.md b/doc/changelog.md
index 7461bca..b67be4f 100644
--- a/doc/changelog.md
+++ b/doc/changelog.md
@@ -1,5 +1,6 @@
 # History
 
+* 2024/Jun/11 ver 7.07 support xresldtrk/xsusldtrk
 * 2024/Mar/07 ver 7.06 Xbyak::util::Cpu supports AMD processor
 * 2024/Feb/11 ver 7.05.1 fix extractBit() in util::Cpu and align() for autoGrow mode
 * 2024/Jan/03 ver 7.05 support RAO-INT for APX
diff --git a/gen/gen_code.cpp b/gen/gen_code.cpp
index 3959cc5..e43c9b2 100644
--- a/gen/gen_code.cpp
+++ b/gen/gen_code.cpp
@@ -758,6 +758,8 @@
 			{ "wbinvd", 0x0F, 0x09 },
 			{ "wrmsr", 0x0F, 0x30 },
 			{ "xlatb", 0xD7 },
+			{ "xresldtrk", 0xF2, 0x0F, 0x01, 0xE9 },
+			{ "xsusldtrk", 0xF2, 0x0F, 0x01, 0xE8 },
 			{ "xend", 0x0f, 0x01, 0xd5 },
 
 			{ "popf", 0x9D },
diff --git a/meson.build b/meson.build
index f523c15..6a04b92 100644
--- a/meson.build
+++ b/meson.build
@@ -5,7 +5,7 @@
 project(
 	'xbyak',
 	'cpp',
-	version: '7.06',
+	version: '7.07',
 	license: 'BSD-3-Clause',
 	default_options: 'b_ndebug=if-release'
 )
diff --git a/readme.md b/readme.md
index 2c0f8a1..c93dc07 100644
--- a/readme.md
+++ b/readme.md
@@ -1,5 +1,5 @@
 
-# Xbyak 7.06 [![Badge Build]][Build Status]
+# Xbyak 7.07 [![Badge Build]][Build Status]
 
 *A C++ JIT assembler for x86 (IA32), x64 (AMD64, x86-64)*
 
@@ -33,6 +33,7 @@
 
 ### News
 
+- support xresldtrk/xsusldtrk
 - support RAO-INT for APX
 - support AVX10 detection, AESKLE, WIDE_KL, KEYLOCKER, KEYLOCKER_WIDE
 - support APX except for a few instructions
diff --git a/readme.txt b/readme.txt
index d874489..bcc96aa 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,5 +1,5 @@
 
-    C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak 7.06
+    C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak 7.07
 
 -----------------------------------------------------------------------------
 ◎概要
@@ -404,6 +404,7 @@
 -----------------------------------------------------------------------------
 ◎履歴
 
+2024/06/11 ver 7.07 xresldtrk/xsusldtrkサポート
 2024/03/07 ver 7.06 util::Cpuのキャッシュ判定周りがAMD CPU対応
 2024/02/11 ver 7.05.1 util::CpuのextractBit()とautoGrowモードでのalign()の修正
 2024/01/03 ver 7.05 APX対応RAO-INT
diff --git a/sample/cpuid/cpuid.sh b/sample/cpuid/cpuid.sh
index c55fd28..ba3bd64 100755
--- a/sample/cpuid/cpuid.sh
+++ b/sample/cpuid/cpuid.sh
@@ -11,7 +11,7 @@
 
 make -C ../ test_util64
 
-cpus=(p4p mrm pnr nhm wsm snb ivb hsw bdw slt slm glm glp tnt skl cnl icl skx clx cpx icx knl knm tgl adl mtl rpl spr gnr srf grr arl lnl)
+cpus=(p4p mrm pnr nhm wsm snb ivb hsw bdw slt slm glm glp tnt skl cnl icl skx clx cpx icx tgl adl mtl rpl spr emr gnr gnr256 srf arl lnl)
 
 for cpu in ${cpus[@]} ; do
   echo $cpu
diff --git a/sample/cpuid/emr.txt b/sample/cpuid/emr.txt
new file mode 100644
index 0000000..b4a50e9
--- /dev/null
+++ b/sample/cpuid/emr.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp xsave(xgetvb) osxsave pclmulqdq avx fma avx2 bmi1 bmi2 lzcnt prefetchw enh_rep rdrand adx rdseed smap sha f16c movbe avx512f avx512dq avx512_ifma avx512cd avx512bw avx512vl avx512_vbmi avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq avx512_bf16 amx(tile) amx(int8) amx(bf16) avx_vnni avx512_fp16 waitpkg clflushopt cldemote clwb movdiri movdir64b uintr serialize
diff --git a/sample/cpuid/gnr256.txt b/sample/cpuid/gnr256.txt
new file mode 100644
index 0000000..8194f1c
--- /dev/null
+++ b/sample/cpuid/gnr256.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp xsave(xgetvb) osxsave pclmulqdq avx fma avx2 bmi1 bmi2 lzcnt prefetchw enh_rep rdrand adx rdseed smap sha f16c movbe gfni vaes vpclmulqdq amx(tile) amx(int8) amx(bf16) avx_vnni waitpkg clflushopt cldemote clwb movdiri movdir64b uintr serialize amx_fp16 prefetchiti avx10
diff --git a/sample/cpuid/grr.txt b/sample/cpuid/grr.txt
deleted file mode 100644
index 0fcec69..0000000
--- a/sample/cpuid/grr.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-vendor intel
- mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp xsave(xgetvb) osxsave pclmulqdq avx fma avx2 bmi1 bmi2 lzcnt enh_rep rdrand adx rdseed smap sha f16c movbe gfni vaes vpclmulqdq avx_vnni waitpkg clflushopt cldemote clwb movdiri movdir64b uintr serialize avx_vnni_int8 avx_ne_convert avx_ifma rao-int cmpccxadd aeskle wide_kl keylocker keylocker_wide
diff --git a/sample/cpuid/knl.txt b/sample/cpuid/knl.txt
deleted file mode 100644
index 1c47022..0000000
--- a/sample/cpuid/knl.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-vendor intel
- mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp xsave(xgetvb) osxsave pclmulqdq avx fma avx2 bmi1 bmi2 lzcnt prefetchw enh_rep rdrand adx rdseed prefetchwt1 f16c movbe avx512f avx512pf avx512er avx512cd
diff --git a/sample/cpuid/knm.txt b/sample/cpuid/knm.txt
deleted file mode 100644
index 8ca3096..0000000
--- a/sample/cpuid/knm.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-vendor intel
- mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp xsave(xgetvb) osxsave pclmulqdq avx fma avx2 bmi1 bmi2 lzcnt prefetchw enh_rep rdrand adx rdseed prefetchwt1 f16c movbe avx512f avx512pf avx512er avx512cd avx512_4vnniw avx512_4fmaps avx512_vpopcntdq
diff --git a/sample/cpuid/spr.txt b/sample/cpuid/spr.txt
index b4a50e9..c53700d 100644
--- a/sample/cpuid/spr.txt
+++ b/sample/cpuid/spr.txt
@@ -1,2 +1,2 @@
 vendor intel
- mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp xsave(xgetvb) osxsave pclmulqdq avx fma avx2 bmi1 bmi2 lzcnt prefetchw enh_rep rdrand adx rdseed smap sha f16c movbe avx512f avx512dq avx512_ifma avx512cd avx512bw avx512vl avx512_vbmi avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq avx512_bf16 amx(tile) amx(int8) amx(bf16) avx_vnni avx512_fp16 waitpkg clflushopt cldemote clwb movdiri movdir64b uintr serialize
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp xsave(xgetvb) osxsave pclmulqdq avx fma avx2 bmi1 bmi2 lzcnt prefetchw enh_rep rdrand adx rdseed smap sha f16c movbe avx512f avx512dq avx512_ifma avx512cd avx512bw avx512vl avx512_vbmi avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq avx512_bf16 amx(tile) amx(int8) amx(bf16) avx_vnni avx512_fp16 waitpkg clflushopt cldemote clwb movdiri movdir64b uintr serialize tsxldtrk
diff --git a/sample/memfd.cpp b/sample/memfd.cpp
index 1066c55..2b6d08b 100644
--- a/sample/memfd.cpp
+++ b/sample/memfd.cpp
@@ -1,6 +1,6 @@
 /*
 	a sample to use MmapAllocator with an user-defined name
-	cat /proc/`psidof ./memfd`/maps
+	cat /proc/`pidof ./memfd`/maps
 
 7fca70b44000-7fca70b4a000 rw-p 00000000 00:00 0
 7fca70b67000-7fca70b68000 rwxs 00000000 00:05 19960170                   /memfd:xyz (deleted)
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 @@
 		{ 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/test/misc.cpp b/test/misc.cpp
index 64bbffa..1457691 100644
--- a/test/misc.cpp
+++ b/test/misc.cpp
@@ -1944,6 +1944,8 @@
 			cldemote(ptr[eax+esi*4+0x12]);
 			movdiri(ptr[edx+esi*2+4], eax);
 			movdir64b(eax, ptr[edx]);
+			xresldtrk();
+			xsusldtrk();
 #ifdef XBYAK64
 			cldemote(ptr[rax+rdi*8+0x123]);
 			movdiri(ptr[rax+r12], r9);
@@ -1973,6 +1975,8 @@
 		0x67,
 #endif
 		0x0f, 0x38, 0xf8, 0x02, // movdir64b
+		0xf2, 0x0f, 0x01, 0xe9, // xresldtrk
+		0xf2, 0x0f, 0x01, 0xe8, // xsusldtrk
 #ifdef XBYAK64
 		0x0f, 0x1c, 0x84, 0xf8, 0x23, 0x01, 0x00, 0x00, // cldemote
 		0x4e, 0x0f, 0x38, 0xf9, 0x0c, 0x20, // movdiri
diff --git a/xbyak/xbyak.h b/xbyak/xbyak.h
index 4a8effe..e7459d3 100644
--- a/xbyak/xbyak.h
+++ b/xbyak/xbyak.h
@@ -155,7 +155,7 @@
 
 enum {
 	DEFAULT_MAX_CODE_SIZE = 4096,
-	VERSION = 0x7060 /* 0xABCD = A.BC(.D) */
+	VERSION = 0x7070 /* 0xABCD = A.BC(.D) */
 };
 
 #ifndef MIE_INTEGER_TYPE_DEFINED
diff --git a/xbyak/xbyak_mnemonic.h b/xbyak/xbyak_mnemonic.h
index eb5fd7f..1b57173 100644
--- a/xbyak/xbyak_mnemonic.h
+++ b/xbyak/xbyak_mnemonic.h
@@ -1,4 +1,4 @@
-const char *getVersionString() const { return "7.06"; }
+const char *getVersionString() const { return "7.07"; }
 void aadd(const Address& addr, const Reg32e &reg) { opMR(addr, reg, T_0F38, 0x0FC, T_APX); }
 void aand(const Address& addr, const Reg32e &reg) { opMR(addr, reg, T_0F38|T_66, 0x0FC, T_APX|T_66); }
 void adc(const Operand& op, uint32_t imm) { opOI(op, imm, 0x10, 2); }
@@ -1612,6 +1612,8 @@
 void xor_(const Reg& d, const Operand& op1, const Operand& op2) { opROO(d, op1, op2, T_NF|T_CODE1_IF1, 0x30); }
 void xorpd(const Xmm& xmm, const Operand& op) { opSSE(xmm, op, T_0F | T_66, 0x57, isXMM_XMMorMEM); }
 void xorps(const Xmm& xmm, const Operand& op) { opSSE(xmm, op, T_0F, 0x57, isXMM_XMMorMEM); }
+void xresldtrk() { db(0xF2); db(0x0F); db(0x01); db(0xE9); }
+void xsusldtrk() { db(0xF2); db(0x0F); db(0x01); db(0xE8); }
 #ifdef XBYAK_ENABLE_OMITTED_OPERAND
 void vblendpd(const Xmm& x, const Operand& op, uint8_t imm) { vblendpd(x, x, op, imm); }
 void vblendps(const Xmm& x, const Operand& op, uint8_t imm) { vblendps(x, x, op, imm); }
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 @@
 	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 @@
 			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;
