mirror of
https://github.com/anrieff/libcpuid
synced 2025-10-13 11:10:39 +00:00
Detect x2APIC and AVX512 for AMD CPUs and update tests
AVX512 is supported since Zen 4, meaning all Zen 4 CPUs are x86-64-v4. x2APIC and AVX512 are present in 'Processor Programming Reference (PPR) for AMD Family 19h Model 11h, Revision B1'.
This commit is contained in:
parent
ca5e1e399d
commit
3b8b7dfaf8
27 changed files with 56 additions and 48 deletions
|
@ -969,6 +969,7 @@ static void load_features_common(struct cpu_raw_data_t* raw, struct cpu_id_t* da
|
|||
{ 13, CPU_FEATURE_CX16 },
|
||||
{ 19, CPU_FEATURE_SSE4_1 },
|
||||
{ 20, CPU_FEATURE_SSE4_2 },
|
||||
{ 21, CPU_FEATURE_X2APIC },
|
||||
{ 22, CPU_FEATURE_MOVBE },
|
||||
{ 23, CPU_FEATURE_POPCNT },
|
||||
{ 25, CPU_FEATURE_AES },
|
||||
|
@ -983,9 +984,19 @@ static void load_features_common(struct cpu_raw_data_t* raw, struct cpu_id_t* da
|
|||
{ 3, CPU_FEATURE_BMI1 },
|
||||
{ 5, CPU_FEATURE_AVX2 },
|
||||
{ 8, CPU_FEATURE_BMI2 },
|
||||
{ 16, CPU_FEATURE_AVX512F },
|
||||
{ 17, CPU_FEATURE_AVX512DQ },
|
||||
{ 18, CPU_FEATURE_RDSEED },
|
||||
{ 19, CPU_FEATURE_ADX },
|
||||
{ 28, CPU_FEATURE_AVX512CD },
|
||||
{ 29, CPU_FEATURE_SHA_NI },
|
||||
{ 30, CPU_FEATURE_AVX512BW },
|
||||
{ 31, CPU_FEATURE_AVX512VL },
|
||||
};
|
||||
const struct feature_map_t matchtable_ecx7[] = {
|
||||
{ 1, CPU_FEATURE_AVX512VBMI },
|
||||
{ 6, CPU_FEATURE_AVX512VBMI2 },
|
||||
{ 11, CPU_FEATURE_AVX512VNNI },
|
||||
};
|
||||
const struct feature_map_t matchtable_edx81[] = {
|
||||
{ 11, CPU_FEATURE_SYSCALL },
|
||||
|
@ -1005,6 +1016,7 @@ static void load_features_common(struct cpu_raw_data_t* raw, struct cpu_id_t* da
|
|||
}
|
||||
if (raw->basic_cpuid[0][EAX] >= 7) {
|
||||
match_features(matchtable_ebx7, COUNT_OF(matchtable_ebx7), raw->basic_cpuid[7][EBX], data);
|
||||
match_features(matchtable_ecx7, COUNT_OF(matchtable_ecx7), raw->basic_cpuid[7][ECX], data);
|
||||
}
|
||||
if (raw->ext_cpuid[0][EAX] >= 0x80000001) {
|
||||
match_features(matchtable_edx81, COUNT_OF(matchtable_edx81), raw->ext_cpuid[1][EDX], data);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue