diff options
Diffstat (limited to 'src/corelib/global')
-rw-r--r-- | src/corelib/global/qfloat16.cpp | 6 | ||||
-rw-r--r-- | src/corelib/global/qsimd.cpp | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/corelib/global/qfloat16.cpp b/src/corelib/global/qfloat16.cpp index 9646943620..d816d8b888 100644 --- a/src/corelib/global/qfloat16.cpp +++ b/src/corelib/global/qfloat16.cpp @@ -194,9 +194,9 @@ int qfloat16::fpClassify() const noexcept #if QT_COMPILER_SUPPORTS(F16C) static inline bool hasFastF16() { - // All processors with F16C also support AVX, but YMM registers - // might not be supported by the OS, or they might be disabled. - return qCpuHasFeature(F16C) && qCpuHasFeature(AVX); + // qsimd.cpp:detectProcessorFeatures() turns off this feature if AVX + // state-saving is not enabled by the OS + return qCpuHasFeature(F16C); } QT_FUNCTION_TARGET(F16C) diff --git a/src/corelib/global/qsimd.cpp b/src/corelib/global/qsimd.cpp index b96a67b14b..5692b6ef03 100644 --- a/src/corelib/global/qsimd.cpp +++ b/src/corelib/global/qsimd.cpp @@ -371,8 +371,8 @@ static quint64 adjustedXcr0(quint64 xcr0) static quint64 detectProcessorFeatures() { - static const quint64 AllAVX2 = CpuFeatureAVX2 | AllAVX512; - static const quint64 AllAVX = CpuFeatureAVX | AllAVX2; + static const quint64 AllAVX = AllAVX512 | CpuFeatureAVX | CpuFeatureAVX2 | CpuFeatureF16C + | CpuFeatureFMA | CpuFeatureVAES; quint64 features = 0; int cpuidLevel = maxBasicCpuidSupported(); |