test of cpuid
diff --git a/sample/cpuid/adl.txt b/sample/cpuid/adl.txt
new file mode 100644
index 0000000..a5b2c4b
--- /dev/null
+++ b/sample/cpuid/adl.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp osxsave(xgetvb) pclmulqdq avx fma avx2 bmi1 bmi2 lzcnt prefetchw enh_rep rdrand adx rdseed smap sha f16c movbe avx_vnni waitpkg clflushopt cldemote movdiri movdir64b
diff --git a/sample/cpuid/bdw.txt b/sample/cpuid/bdw.txt
new file mode 100644
index 0000000..42b55c9
--- /dev/null
+++ b/sample/cpuid/bdw.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp osxsave(xgetvb) pclmulqdq avx fma avx2 bmi1 bmi2 lzcnt prefetchw enh_rep rdrand adx rdseed smap f16c movbe
diff --git a/sample/cpuid/clx.txt b/sample/cpuid/clx.txt
new file mode 100644
index 0000000..979ffc9
--- /dev/null
+++ b/sample/cpuid/clx.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp osxsave(xgetvb) pclmulqdq avx fma avx2 bmi1 bmi2 lzcnt prefetchw enh_rep rdrand adx rdseed smap f16c movbe avx512f avx512dq avx512cd avx512bw avx512vl avx512_vnni clflushopt
diff --git a/sample/cpuid/cnl.txt b/sample/cpuid/cnl.txt
new file mode 100644
index 0000000..40cf483
--- /dev/null
+++ b/sample/cpuid/cnl.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp osxsave(xgetvb) 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 clflushopt
diff --git a/sample/cpuid/cpuid.sh b/sample/cpuid/cpuid.sh
new file mode 100755
index 0000000..c312282
--- /dev/null
+++ b/sample/cpuid/cpuid.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+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 spr)
+for cpu in ${cpus[@]} ; do
+  echo $cpu
+  ~/bin/sde -$cpu -- ../test_util64 -cpuid > tmp.txt
+  diff tmp.txt $cpu.txt
+done
+
diff --git a/sample/cpuid/cpx.txt b/sample/cpuid/cpx.txt
new file mode 100644
index 0000000..367210a
--- /dev/null
+++ b/sample/cpuid/cpx.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp osxsave(xgetvb) pclmulqdq avx fma avx2 bmi1 bmi2 lzcnt prefetchw enh_rep rdrand adx rdseed smap f16c movbe avx512f avx512dq avx512cd avx512bw avx512vl avx512_vnni avx512_bf16 clflushopt
diff --git a/sample/cpuid/glm.txt b/sample/cpuid/glm.txt
new file mode 100644
index 0000000..4c7733e
--- /dev/null
+++ b/sample/cpuid/glm.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp osxsave(xgetvb) pclmulqdq enh_rep rdrand rdseed smap sha movbe clflushopt
diff --git a/sample/cpuid/glp.txt b/sample/cpuid/glp.txt
new file mode 100644
index 0000000..4c7733e
--- /dev/null
+++ b/sample/cpuid/glp.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp osxsave(xgetvb) pclmulqdq enh_rep rdrand rdseed smap sha movbe clflushopt
diff --git a/sample/cpuid/hsw.txt b/sample/cpuid/hsw.txt
new file mode 100644
index 0000000..9652a96
--- /dev/null
+++ b/sample/cpuid/hsw.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp osxsave(xgetvb) pclmulqdq avx fma avx2 bmi1 bmi2 lzcnt enh_rep rdrand f16c movbe
diff --git a/sample/cpuid/icl.txt b/sample/cpuid/icl.txt
new file mode 100644
index 0000000..eaa9029
--- /dev/null
+++ b/sample/cpuid/icl.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp osxsave(xgetvb) 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 clflushopt
diff --git a/sample/cpuid/icx.txt b/sample/cpuid/icx.txt
new file mode 100644
index 0000000..eaa9029
--- /dev/null
+++ b/sample/cpuid/icx.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp osxsave(xgetvb) 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 clflushopt
diff --git a/sample/cpuid/ivb.txt b/sample/cpuid/ivb.txt
new file mode 100644
index 0000000..a501281
--- /dev/null
+++ b/sample/cpuid/ivb.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp osxsave(xgetvb) pclmulqdq avx enh_rep rdrand f16c
diff --git a/sample/cpuid/knl.txt b/sample/cpuid/knl.txt
new file mode 100644
index 0000000..8c8d8f5
--- /dev/null
+++ b/sample/cpuid/knl.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp osxsave(xgetvb) 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
new file mode 100644
index 0000000..f787fb0
--- /dev/null
+++ b/sample/cpuid/knm.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp osxsave(xgetvb) 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/mrm.txt b/sample/cpuid/mrm.txt
new file mode 100644
index 0000000..4d69ce3
--- /dev/null
+++ b/sample/cpuid/mrm.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3
diff --git a/sample/cpuid/nhm.txt b/sample/cpuid/nhm.txt
new file mode 100644
index 0000000..63dc555
--- /dev/null
+++ b/sample/cpuid/nhm.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt rdtscp
diff --git a/sample/cpuid/p4p.txt b/sample/cpuid/p4p.txt
new file mode 100644
index 0000000..8e6e5cb
--- /dev/null
+++ b/sample/cpuid/p4p.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3
diff --git a/sample/cpuid/pnr.txt b/sample/cpuid/pnr.txt
new file mode 100644
index 0000000..59de9b5
--- /dev/null
+++ b/sample/cpuid/pnr.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41
diff --git a/sample/cpuid/skl.txt b/sample/cpuid/skl.txt
new file mode 100644
index 0000000..2d80258
--- /dev/null
+++ b/sample/cpuid/skl.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp osxsave(xgetvb) pclmulqdq avx fma avx2 bmi1 bmi2 lzcnt prefetchw enh_rep rdrand adx rdseed smap f16c movbe clflushopt
diff --git a/sample/cpuid/skx.txt b/sample/cpuid/skx.txt
new file mode 100644
index 0000000..c9e17dd
--- /dev/null
+++ b/sample/cpuid/skx.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp osxsave(xgetvb) pclmulqdq avx fma avx2 bmi1 bmi2 lzcnt prefetchw enh_rep rdrand adx rdseed smap f16c movbe avx512f avx512dq avx512cd avx512bw avx512vl clflushopt
diff --git a/sample/cpuid/slm.txt b/sample/cpuid/slm.txt
new file mode 100644
index 0000000..1a79965
--- /dev/null
+++ b/sample/cpuid/slm.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp pclmulqdq prefetchw enh_rep rdrand movbe
diff --git a/sample/cpuid/slt.txt b/sample/cpuid/slt.txt
new file mode 100644
index 0000000..3a854c9
--- /dev/null
+++ b/sample/cpuid/slt.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 movbe
diff --git a/sample/cpuid/snb.txt b/sample/cpuid/snb.txt
new file mode 100644
index 0000000..ebc8e91
--- /dev/null
+++ b/sample/cpuid/snb.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp osxsave(xgetvb) pclmulqdq avx
diff --git a/sample/cpuid/spr.txt b/sample/cpuid/spr.txt
new file mode 100644
index 0000000..acf875c
--- /dev/null
+++ b/sample/cpuid/spr.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp osxsave(xgetvb) 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 avx512_vp2intersect amx(tile) amx(int8) amx(bf16) avx_vnni avx512_fp16 waitpkg clflushopt cldemote movdiri movdir64b
diff --git a/sample/cpuid/tgl.txt b/sample/cpuid/tgl.txt
new file mode 100644
index 0000000..8ac740a
--- /dev/null
+++ b/sample/cpuid/tgl.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp osxsave(xgetvb) 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_vp2intersect clflushopt movdiri movdir64b
diff --git a/sample/cpuid/tmp.txt b/sample/cpuid/tmp.txt
new file mode 100644
index 0000000..acf875c
--- /dev/null
+++ b/sample/cpuid/tmp.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp osxsave(xgetvb) 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 avx512_vp2intersect amx(tile) amx(int8) amx(bf16) avx_vnni avx512_fp16 waitpkg clflushopt cldemote movdiri movdir64b
diff --git a/sample/cpuid/tnt.txt b/sample/cpuid/tnt.txt
new file mode 100644
index 0000000..4c7733e
--- /dev/null
+++ b/sample/cpuid/tnt.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp osxsave(xgetvb) pclmulqdq enh_rep rdrand rdseed smap sha movbe clflushopt
diff --git a/sample/cpuid/update-txt.sh b/sample/cpuid/update-txt.sh
new file mode 100755
index 0000000..fcdca42
--- /dev/null
+++ b/sample/cpuid/update-txt.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+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 spr)
+for cpu in ${cpus[@]} ; do
+  echo $cpu
+  ~/bin/sde -$cpu -- ../test_util64 -cpuid > $cpu.txt
+done
+
diff --git a/sample/cpuid/wsm.txt b/sample/cpuid/wsm.txt
new file mode 100644
index 0000000..6a5e33e
--- /dev/null
+++ b/sample/cpuid/wsm.txt
@@ -0,0 +1,2 @@
+vendor intel
+ mmx mmx2 cmov sse sse2 sse3 ssse3 sse41 sse42 popcnt aesni rdtscp pclmulqdq