From 180154f03d9a4d730c78018a644f093857de785a Mon Sep 17 00:00:00 2001 From: Xorg Date: Mon, 18 May 2020 22:00:51 +0200 Subject: [PATCH] Detect AVX512VBMI and AVX512VBMI2 features on Intel CPUs More information: https://en.wikichip.org/wiki/x86/avx-512 Resolve #134 --- libcpuid/cpuid_main.c | 2 + libcpuid/libcpuid.h | 2 + libcpuid/recog_intel.c | 2 + tests/intel/lakes/cannon-lake-i3-u.test | 106 ++++++++++++++++++++++++ tests/intel/lakes/ice-lake-i3.test | 106 ++++++++++++++++++++++++ tests/intel/lakes/ice-lake-i5.test | 106 ++++++++++++++++++++++++ tests/intel/lakes/ice-lake-i7.test | 106 ++++++++++++++++++++++++ 7 files changed, 430 insertions(+) create mode 100644 tests/intel/lakes/cannon-lake-i3-u.test create mode 100644 tests/intel/lakes/ice-lake-i3.test create mode 100644 tests/intel/lakes/ice-lake-i5.test create mode 100644 tests/intel/lakes/ice-lake-i7.test diff --git a/libcpuid/cpuid_main.c b/libcpuid/cpuid_main.c index a9f59a5..371ddcb 100644 --- a/libcpuid/cpuid_main.c +++ b/libcpuid/cpuid_main.c @@ -686,6 +686,8 @@ const char* cpu_feature_str(cpu_feature_t feature) { CPU_FEATURE_RDSEED, "rdseed" }, { CPU_FEATURE_ADX, "adx" }, { CPU_FEATURE_AVX512VNNI, "avx512_vnni" }, + { CPU_FEATURE_AVX512VBMI, "avx512_vbmi" }, + { CPU_FEATURE_AVX512VBMI2, "avx512_vbmi2" }, }; unsigned i, n = COUNT_OF(matchtable); if (n != NUM_CPU_FEATURES) { diff --git a/libcpuid/libcpuid.h b/libcpuid/libcpuid.h index bd94d0c..a364756 100644 --- a/libcpuid/libcpuid.h +++ b/libcpuid/libcpuid.h @@ -512,6 +512,8 @@ typedef enum { CPU_FEATURE_RDSEED, /*!< RDSEED instruction */ CPU_FEATURE_ADX, /*!< ADX extensions (arbitrary precision) */ CPU_FEATURE_AVX512VNNI, /*!< AVX-512 Vector Neural Network Instructions */ + CPU_FEATURE_AVX512VBMI, /*!< AVX-512 Vector Bit ManipulationInstructions (version 1) */ + CPU_FEATURE_AVX512VBMI2, /*!< AVX-512 Vector Bit ManipulationInstructions (version 2) */ /* termination: */ NUM_CPU_FEATURES, } cpu_feature_t; diff --git a/libcpuid/recog_intel.c b/libcpuid/recog_intel.c index 122f2cb..afba581 100644 --- a/libcpuid/recog_intel.c +++ b/libcpuid/recog_intel.c @@ -432,6 +432,8 @@ static void load_intel_features(struct cpu_raw_data_t* raw, struct cpu_id_t* dat { 31, CPU_FEATURE_AVX512VL }, }; const struct feature_map_t matchtable_ecx7[] = { + { 1, CPU_FEATURE_AVX512VBMI }, + { 6, CPU_FEATURE_AVX512VBMI2 }, { 11, CPU_FEATURE_AVX512VNNI }, }; if (raw->basic_cpuid[0][EAX] >= 1) { diff --git a/tests/intel/lakes/cannon-lake-i3-u.test b/tests/intel/lakes/cannon-lake-i3-u.test new file mode 100644 index 0000000..5da1c51 --- /dev/null +++ b/tests/intel/lakes/cannon-lake-i3-u.test @@ -0,0 +1,106 @@ +basic_cpuid[0]=00000016 756e6547 6c65746e 49656e69 +basic_cpuid[1]=00060663 00100800 7ffafbbf bfebfbff +basic_cpuid[2]=76036301 00f0b5ff 00000000 00c30000 +basic_cpuid[3]=00000000 00000000 00000000 00000000 +basic_cpuid[4]=1c004121 01c0003f 0000003f 00000000 +basic_cpuid[5]=00000040 00000040 00000003 11142020 +basic_cpuid[6]=00002ff7 00000002 00000009 00000000 +basic_cpuid[7]=00000000 f2bf67eb 0000000e 9c000000 +basic_cpuid[8]=00000000 00000000 00000000 00000000 +basic_cpuid[9]=00000000 00000000 00000000 00000000 +basic_cpuid[10]=07300404 00000000 00000000 00000603 +basic_cpuid[11]=00000001 00000002 00000100 00000000 +basic_cpuid[12]=00000000 00000000 00000000 00000000 +basic_cpuid[13]=000002ff 00000a80 00000a88 00000000 +basic_cpuid[14]=00000000 00000000 00000000 00000000 +basic_cpuid[15]=00000000 00000000 00000000 00000000 +basic_cpuid[16]=00000000 00000000 00000000 00000000 +basic_cpuid[17]=00000000 00000000 00000000 00000000 +basic_cpuid[18]=00000000 00000000 00000000 00000000 +basic_cpuid[19]=00000000 00000000 00000000 00000000 +basic_cpuid[20]=00000001 0000000f 00000007 00000000 +basic_cpuid[21]=00000002 000000b8 016e3600 00000000 +basic_cpuid[22]=00000898 00000c80 00000064 00000000 +basic_cpuid[23]=ffffffff ffffffff ffffffff ffffffff +basic_cpuid[24]=ffffffff ffffffff ffffffff ffffffff +basic_cpuid[25]=ffffffff ffffffff ffffffff ffffffff +basic_cpuid[26]=ffffffff ffffffff ffffffff ffffffff +basic_cpuid[27]=ffffffff ffffffff ffffffff ffffffff +basic_cpuid[28]=ffffffff ffffffff ffffffff ffffffff +basic_cpuid[29]=ffffffff ffffffff ffffffff ffffffff +basic_cpuid[30]=ffffffff ffffffff ffffffff ffffffff +basic_cpuid[31]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[0]=80000008 00000000 00000000 00000000 +ext_cpuid[1]=00000000 00000000 00000121 2c100000 +ext_cpuid[2]=65746e49 2952286c 726f4320 4d542865 +ext_cpuid[3]=33692029 3231382d 43205531 40205550 +ext_cpuid[4]=322e3220 7a484730 00000000 00000000 +ext_cpuid[5]=00000000 00000000 00000000 00000000 +ext_cpuid[6]=00000000 00000000 01006040 00000000 +ext_cpuid[7]=00000000 00000000 00000000 00000100 +ext_cpuid[8]=00003027 00000000 00000000 00000000 +ext_cpuid[9]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[10]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[11]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[12]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[13]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[14]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[15]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[16]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[17]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[18]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[19]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[20]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[21]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[22]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[23]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[24]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[25]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[26]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[27]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[28]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[29]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[30]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[31]=ffffffff ffffffff ffffffff ffffffff +intel_fn4[0]=1c004121 01c0003f 0000003f 00000000 +intel_fn4[1]=1c004122 01c0003f 0000003f 00000000 +intel_fn4[2]=1c004143 00c0003f 000003ff 00000000 +intel_fn4[3]=1c03c163 03c0003f 00000fff 00000006 +intel_fn4[4]=00000000 00000000 00000000 00000000 +intel_fn4[5]=00000000 00000000 00000000 00000000 +intel_fn4[6]=00000000 00000000 00000000 00000000 +intel_fn4[7]=00000000 00000000 00000000 00000000 +intel_fn11[0]=00000001 00000002 00000100 00000000 +intel_fn11[1]=00000004 00000004 00000201 00000000 +intel_fn11[2]=ffffffff ffffffff ffffffff ffffffff +intel_fn11[3]=ffffffff ffffffff ffffffff ffffffff +amd_fn8000001dh[0]=ffffffff ffffffff ffffffff ffffffff +amd_fn8000001dh[1]=ffffffff ffffffff ffffffff ffffffff +amd_fn8000001dh[2]=ffffffff ffffffff ffffffff ffffffff +amd_fn8000001dh[3]=ffffffff ffffffff ffffffff ffffffff +-------------------------------------------------------------------------------- +6 +6 +3 +6 +102 +2 +4 +32 +32 +256 +4096 +-1 +8 +8 +4 +16 +-1 +64 +64 +64 +64 +-1 +128 (non-authoritative) +Cannon Lake (Core i3) +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni pclmul dts64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm abm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 avx512f avx512dq avx512cd sha_ni avx512bw avx512vl rdseed adx avx512_vbmi diff --git a/tests/intel/lakes/ice-lake-i3.test b/tests/intel/lakes/ice-lake-i3.test new file mode 100644 index 0000000..5da1c51 --- /dev/null +++ b/tests/intel/lakes/ice-lake-i3.test @@ -0,0 +1,106 @@ +basic_cpuid[0]=00000016 756e6547 6c65746e 49656e69 +basic_cpuid[1]=00060663 00100800 7ffafbbf bfebfbff +basic_cpuid[2]=76036301 00f0b5ff 00000000 00c30000 +basic_cpuid[3]=00000000 00000000 00000000 00000000 +basic_cpuid[4]=1c004121 01c0003f 0000003f 00000000 +basic_cpuid[5]=00000040 00000040 00000003 11142020 +basic_cpuid[6]=00002ff7 00000002 00000009 00000000 +basic_cpuid[7]=00000000 f2bf67eb 0000000e 9c000000 +basic_cpuid[8]=00000000 00000000 00000000 00000000 +basic_cpuid[9]=00000000 00000000 00000000 00000000 +basic_cpuid[10]=07300404 00000000 00000000 00000603 +basic_cpuid[11]=00000001 00000002 00000100 00000000 +basic_cpuid[12]=00000000 00000000 00000000 00000000 +basic_cpuid[13]=000002ff 00000a80 00000a88 00000000 +basic_cpuid[14]=00000000 00000000 00000000 00000000 +basic_cpuid[15]=00000000 00000000 00000000 00000000 +basic_cpuid[16]=00000000 00000000 00000000 00000000 +basic_cpuid[17]=00000000 00000000 00000000 00000000 +basic_cpuid[18]=00000000 00000000 00000000 00000000 +basic_cpuid[19]=00000000 00000000 00000000 00000000 +basic_cpuid[20]=00000001 0000000f 00000007 00000000 +basic_cpuid[21]=00000002 000000b8 016e3600 00000000 +basic_cpuid[22]=00000898 00000c80 00000064 00000000 +basic_cpuid[23]=ffffffff ffffffff ffffffff ffffffff +basic_cpuid[24]=ffffffff ffffffff ffffffff ffffffff +basic_cpuid[25]=ffffffff ffffffff ffffffff ffffffff +basic_cpuid[26]=ffffffff ffffffff ffffffff ffffffff +basic_cpuid[27]=ffffffff ffffffff ffffffff ffffffff +basic_cpuid[28]=ffffffff ffffffff ffffffff ffffffff +basic_cpuid[29]=ffffffff ffffffff ffffffff ffffffff +basic_cpuid[30]=ffffffff ffffffff ffffffff ffffffff +basic_cpuid[31]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[0]=80000008 00000000 00000000 00000000 +ext_cpuid[1]=00000000 00000000 00000121 2c100000 +ext_cpuid[2]=65746e49 2952286c 726f4320 4d542865 +ext_cpuid[3]=33692029 3231382d 43205531 40205550 +ext_cpuid[4]=322e3220 7a484730 00000000 00000000 +ext_cpuid[5]=00000000 00000000 00000000 00000000 +ext_cpuid[6]=00000000 00000000 01006040 00000000 +ext_cpuid[7]=00000000 00000000 00000000 00000100 +ext_cpuid[8]=00003027 00000000 00000000 00000000 +ext_cpuid[9]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[10]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[11]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[12]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[13]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[14]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[15]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[16]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[17]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[18]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[19]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[20]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[21]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[22]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[23]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[24]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[25]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[26]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[27]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[28]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[29]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[30]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[31]=ffffffff ffffffff ffffffff ffffffff +intel_fn4[0]=1c004121 01c0003f 0000003f 00000000 +intel_fn4[1]=1c004122 01c0003f 0000003f 00000000 +intel_fn4[2]=1c004143 00c0003f 000003ff 00000000 +intel_fn4[3]=1c03c163 03c0003f 00000fff 00000006 +intel_fn4[4]=00000000 00000000 00000000 00000000 +intel_fn4[5]=00000000 00000000 00000000 00000000 +intel_fn4[6]=00000000 00000000 00000000 00000000 +intel_fn4[7]=00000000 00000000 00000000 00000000 +intel_fn11[0]=00000001 00000002 00000100 00000000 +intel_fn11[1]=00000004 00000004 00000201 00000000 +intel_fn11[2]=ffffffff ffffffff ffffffff ffffffff +intel_fn11[3]=ffffffff ffffffff ffffffff ffffffff +amd_fn8000001dh[0]=ffffffff ffffffff ffffffff ffffffff +amd_fn8000001dh[1]=ffffffff ffffffff ffffffff ffffffff +amd_fn8000001dh[2]=ffffffff ffffffff ffffffff ffffffff +amd_fn8000001dh[3]=ffffffff ffffffff ffffffff ffffffff +-------------------------------------------------------------------------------- +6 +6 +3 +6 +102 +2 +4 +32 +32 +256 +4096 +-1 +8 +8 +4 +16 +-1 +64 +64 +64 +64 +-1 +128 (non-authoritative) +Cannon Lake (Core i3) +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni pclmul dts64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm abm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 avx512f avx512dq avx512cd sha_ni avx512bw avx512vl rdseed adx avx512_vbmi diff --git a/tests/intel/lakes/ice-lake-i5.test b/tests/intel/lakes/ice-lake-i5.test new file mode 100644 index 0000000..bd64465 --- /dev/null +++ b/tests/intel/lakes/ice-lake-i5.test @@ -0,0 +1,106 @@ +basic_cpuid[0]=0000001b 756e6547 6c65746e 49656e69 +basic_cpuid[1]=000706e5 00100800 7ffafbbf bfebfbff +basic_cpuid[2]=00feff01 000000f0 00000000 00000000 +basic_cpuid[3]=00000000 00000000 00000000 00000000 +basic_cpuid[4]=1c004121 02c0003f 0000003f 00000000 +basic_cpuid[5]=00000040 00000040 00000003 11121020 +basic_cpuid[6]=0003aff7 00000002 00000009 00000000 +basic_cpuid[7]=00000000 f2bf27ef 40405f4e bc000410 +basic_cpuid[8]=00000000 00000000 00000000 00000000 +basic_cpuid[9]=00000000 00000000 00000000 00000000 +basic_cpuid[10]=08300805 00000000 0000000f 00008604 +basic_cpuid[11]=00000001 00000002 00000100 00000000 +basic_cpuid[12]=00000000 00000000 00000000 00000000 +basic_cpuid[13]=000002e7 00000a80 00000a88 00000000 +basic_cpuid[14]=00000000 00000000 00000000 00000000 +basic_cpuid[15]=00000000 00000000 00000000 00000000 +basic_cpuid[16]=00000000 00000000 00000000 00000000 +basic_cpuid[17]=00000000 00000000 00000000 00000000 +basic_cpuid[18]=00000063 00000001 00000000 00002f1f +basic_cpuid[19]=00000000 00000000 00000000 00000000 +basic_cpuid[20]=00000001 0000000f 00000007 00000000 +basic_cpuid[21]=00000002 0000004e 0249f000 00000000 +basic_cpuid[22]=000005dc 00000e74 00000064 00000000 +basic_cpuid[23]=00000000 00000000 00000000 00000000 +basic_cpuid[24]=00000007 00000000 00000000 00000000 +basic_cpuid[25]=00000000 00000000 00000000 00000000 +basic_cpuid[26]=00000000 00000000 00000000 00000000 +basic_cpuid[27]=00000000 00000000 00000000 00000000 +basic_cpuid[28]=ffffffff ffffffff ffffffff ffffffff +basic_cpuid[29]=ffffffff ffffffff ffffffff ffffffff +basic_cpuid[30]=ffffffff ffffffff ffffffff ffffffff +basic_cpuid[31]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[0]=80000008 00000000 00000000 00000000 +ext_cpuid[1]=00000000 00000000 00000121 2c100000 +ext_cpuid[2]=65746e49 2952286c 726f4320 4d542865 +ext_cpuid[3]=35692029 3330312d 20344735 20555043 +ext_cpuid[4]=2e312040 48473031 0000007a 00000000 +ext_cpuid[5]=00000000 00000000 00000000 00000000 +ext_cpuid[6]=00000000 00000000 01006040 00000000 +ext_cpuid[7]=00000000 00000000 00000000 00000100 +ext_cpuid[8]=00003027 00000000 00000000 00000000 +ext_cpuid[9]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[10]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[11]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[12]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[13]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[14]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[15]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[16]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[17]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[18]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[19]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[20]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[21]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[22]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[23]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[24]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[25]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[26]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[27]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[28]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[29]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[30]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[31]=ffffffff ffffffff ffffffff ffffffff +intel_fn4[0]=1c004121 02c0003f 0000003f 00000000 +intel_fn4[1]=1c004122 01c0003f 0000003f 00000000 +intel_fn4[2]=1c004143 01c0003f 000003ff 00000000 +intel_fn4[3]=1c03c163 02c0003f 00001fff 00000006 +intel_fn4[4]=00000000 00000000 00000000 00000000 +intel_fn4[5]=00000000 00000000 00000000 00000000 +intel_fn4[6]=00000000 00000000 00000000 00000000 +intel_fn4[7]=00000000 00000000 00000000 00000000 +intel_fn11[0]=00000001 00000002 00000100 00000000 +intel_fn11[1]=00000004 00000008 00000201 00000000 +intel_fn11[2]=ffffffff ffffffff ffffffff ffffffff +intel_fn11[3]=ffffffff ffffffff ffffffff ffffffff +amd_fn8000001dh[0]=ffffffff ffffffff ffffffff ffffffff +amd_fn8000001dh[1]=ffffffff ffffffff ffffffff ffffffff +amd_fn8000001dh[2]=ffffffff ffffffff ffffffff ffffffff +amd_fn8000001dh[3]=ffffffff ffffffff ffffffff ffffffff +-------------------------------------------------------------------------------- +6 +14 +5 +6 +126 +4 +8 +48 +32 +512 +6144 +-1 +12 +8 +8 +12 +-1 +64 +64 +64 +64 +-1 +128 (non-authoritative) +Ice Lake (Core i5) +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni pclmul dts64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm abm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 avx512f avx512dq avx512cd sha_ni avx512bw avx512vl sgx rdseed adx avx512_vnni avx512_vbmi avx512_vbmi2 diff --git a/tests/intel/lakes/ice-lake-i7.test b/tests/intel/lakes/ice-lake-i7.test new file mode 100644 index 0000000..f6942c0 --- /dev/null +++ b/tests/intel/lakes/ice-lake-i7.test @@ -0,0 +1,106 @@ +basic_cpuid[0]=0000001b 756e6547 6c65746e 49656e69 +basic_cpuid[1]=000706e5 00100800 7ffafbbf bfebfbff +basic_cpuid[2]=00feff01 000000f0 00000000 00000000 +basic_cpuid[3]=00000000 00000000 00000000 00000000 +basic_cpuid[4]=1c004121 02c0003f 0000003f 00000000 +basic_cpuid[5]=00000040 00000040 00000003 11121020 +basic_cpuid[6]=0007aff5 00000002 00000009 00000000 +basic_cpuid[7]=00000000 f2bf27ef 40405f4e bc000410 +basic_cpuid[8]=00000000 00000000 00000000 00000000 +basic_cpuid[9]=00000000 00000000 00000000 00000000 +basic_cpuid[10]=08300805 00000000 0000000f 00008604 +basic_cpuid[11]=00000001 00000002 00000100 00000000 +basic_cpuid[12]=00000000 00000000 00000000 00000000 +basic_cpuid[13]=000002e7 00000a80 00000a88 00000000 +basic_cpuid[14]=00000000 00000000 00000000 00000000 +basic_cpuid[15]=00000000 00000000 00000000 00000000 +basic_cpuid[16]=00000000 00000000 00000000 00000000 +basic_cpuid[17]=00000000 00000000 00000000 00000000 +basic_cpuid[18]=00000063 00000001 00000000 00002f1f +basic_cpuid[19]=00000000 00000000 00000000 00000000 +basic_cpuid[20]=00000001 0000000f 00000007 00000000 +basic_cpuid[21]=00000002 0000004e 0249f000 00000000 +basic_cpuid[22]=000005dc 00000f3c 00000064 00000000 +basic_cpuid[23]=00000000 00000000 00000000 00000000 +basic_cpuid[24]=00000007 00000000 00000000 00000000 +basic_cpuid[25]=00000000 00000000 00000000 00000000 +basic_cpuid[26]=00000000 00000000 00000000 00000000 +basic_cpuid[27]=00000000 00000000 00000000 00000000 +basic_cpuid[28]=ffffffff ffffffff ffffffff ffffffff +basic_cpuid[29]=ffffffff ffffffff ffffffff ffffffff +basic_cpuid[30]=ffffffff ffffffff ffffffff ffffffff +basic_cpuid[31]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[0]=80000008 00000000 00000000 00000000 +ext_cpuid[1]=00000000 00000000 00000121 2c100000 +ext_cpuid[2]=65746e49 2952286c 726f4320 4d542865 +ext_cpuid[3]=37692029 3630312d 20374735 20555043 +ext_cpuid[4]=2e312040 48473033 0000007a 00000000 +ext_cpuid[5]=00000000 00000000 00000000 00000000 +ext_cpuid[6]=00000000 00000000 01006040 00000000 +ext_cpuid[7]=00000000 00000000 00000000 00000100 +ext_cpuid[8]=00003027 00000000 00000000 00000000 +ext_cpuid[9]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[10]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[11]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[12]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[13]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[14]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[15]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[16]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[17]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[18]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[19]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[20]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[21]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[22]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[23]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[24]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[25]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[26]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[27]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[28]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[29]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[30]=ffffffff ffffffff ffffffff ffffffff +ext_cpuid[31]=ffffffff ffffffff ffffffff ffffffff +intel_fn4[0]=1c004121 02c0003f 0000003f 00000000 +intel_fn4[1]=1c004122 01c0003f 0000003f 00000000 +intel_fn4[2]=1c004143 01c0003f 000003ff 00000000 +intel_fn4[3]=1c03c163 03c0003f 00001fff 00000006 +intel_fn4[4]=00000000 00000000 00000000 00000000 +intel_fn4[5]=00000000 00000000 00000000 00000000 +intel_fn4[6]=00000000 00000000 00000000 00000000 +intel_fn4[7]=00000000 00000000 00000000 00000000 +intel_fn11[0]=00000001 00000002 00000100 00000000 +intel_fn11[1]=00000004 00000008 00000201 00000000 +intel_fn11[2]=ffffffff ffffffff ffffffff ffffffff +intel_fn11[3]=ffffffff ffffffff ffffffff ffffffff +amd_fn8000001dh[0]=ffffffff ffffffff ffffffff ffffffff +amd_fn8000001dh[1]=ffffffff ffffffff ffffffff ffffffff +amd_fn8000001dh[2]=ffffffff ffffffff ffffffff ffffffff +amd_fn8000001dh[3]=ffffffff ffffffff ffffffff ffffffff +-------------------------------------------------------------------------------- +6 +14 +5 +6 +126 +4 +8 +48 +32 +512 +8192 +-1 +12 +8 +8 +16 +-1 +64 +64 +64 +64 +-1 +128 (non-authoritative) +Ice Lake (Core i7) +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni pclmul dts64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm abm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 avx512f avx512dq avx512cd sha_ni avx512bw avx512vl sgx rdseed adx avx512_vnni avx512_vbmi avx512_vbmi2