diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2018-11-06 14:44:05 -0800 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2018-12-04 06:38:31 +0000 |
commit | 121b0bfed51641ddae0585377471aeecdfec5d02 (patch) | |
tree | 9d9f7d7f4608630e56be5fe6eaa87eedc63f0804 /src/corelib/tools/qsimd_p.h | |
parent | ffeefaac6273b8bdb81876a5cc26e15cb9353955 (diff) |
Make qDetectCpuFeatures() return the CPU features it detected
Micro (nano?) optimization.
Change-Id: Iba4b5c183776497d8ee1fffd1564aa53056f343d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/corelib/tools/qsimd_p.h')
-rw-r--r-- | src/corelib/tools/qsimd_p.h | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/src/corelib/tools/qsimd_p.h b/src/corelib/tools/qsimd_p.h index 9f1321df94..c36e1e484f 100644 --- a/src/corelib/tools/qsimd_p.h +++ b/src/corelib/tools/qsimd_p.h @@ -344,7 +344,7 @@ extern Q_CORE_EXPORT QBasicAtomicInteger<quint64> qt_cpu_features[1]; #else extern Q_CORE_EXPORT QBasicAtomicInteger<unsigned> qt_cpu_features[2]; #endif -Q_CORE_EXPORT void qDetectCpuFeatures(); +Q_CORE_EXPORT quint64 qDetectCpuFeatures(); static inline quint64 qCpuFeatures() { @@ -353,11 +353,7 @@ static inline quint64 qCpuFeatures() features |= quint64(qt_cpu_features[1].load()) << 32; #endif if (Q_UNLIKELY(features == 0)) { - qDetectCpuFeatures(); - features = qt_cpu_features[0].load(); -#ifndef Q_ATOMIC_INT64_IS_SUPPORTED - features |= quint64(qt_cpu_features[1].load()) << 32; -#endif + features = qDetectCpuFeatures(); Q_ASSUME(features != 0); } return features; |