diff --git a/Sources/Core/CpuID.cpp b/Sources/Core/CpuID.cpp index b3fa61a8a..6b4139ec6 100644 --- a/Sources/Core/CpuID.cpp +++ b/Sources/Core/CpuID.cpp @@ -97,6 +97,7 @@ namespace spades { case CpuFeature::AVX512ER: return (featureXcr0Avx512 && subfeature & (1U << 27)); case CpuFeature::AVX512PF: return (featureXcr0Avx512 && subfeature & (1U << 26)); case CpuFeature::AVX512F: return (featureXcr0Avx512 && subfeature & (1U << 16)); + case CpuFeature::AVX512FP16: return (featureXcr0Avx512 && subfeature & (1U << 23)); case CpuFeature::SimultaneousMT: return featureEdx & (1U << 28); } } diff --git a/Sources/Core/CpuID.h b/Sources/Core/CpuID.h index 22b185751..6f7d0fa01 100644 --- a/Sources/Core/CpuID.h +++ b/Sources/Core/CpuID.h @@ -24,6 +24,7 @@ namespace spades { AVX512ER, AVX512PF, AVX512F, + AVX512FP16, SimultaneousMT }; diff --git a/Sources/Gui/Main.cpp b/Sources/Gui/Main.cpp index 4e8df93b5..0bfab5b78 100644 --- a/Sources/Gui/Main.cpp +++ b/Sources/Gui/Main.cpp @@ -506,6 +506,8 @@ int main(int argc, char **argv) { SPLog("Supports AVX2: %s", cpuid.Supports(spades::CpuFeature::AVX2) ? "YES" : "NO"); SPLog("Supports AVX512F: %s", cpuid.Supports(spades::CpuFeature::AVX512F) ? "YES" : "NO"); + SPLog("Supports AVX512FP16: %s", + cpuid.Supports(spades::CpuFeature::AVX512FP16) ? "YES" : "NO"); SPLog("Supports AVX512CD: %s", cpuid.Supports(spades::CpuFeature::AVX512CD) ? "YES" : "NO"); SPLog("Supports AVX512ER: %s",