diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2017-04-13 15:44:45 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2017-06-12 06:14:48 +0000 |
commit | dfdc466dc1a7b22cbab700a188daba4f052a25ce (patch) | |
tree | 3eec9d8b2b32a55b84119c5346482a2572645337 /src | |
parent | f17095653ed54c7c253ade6ff639cae6a372cb08 (diff) |
Add proper detection of x86 RDRAND instruction
The instruction is "RDRAND", but the feature name, according to GCC, is
RDRND, so I had to change some macros in qsimd_p.h.
Change-Id: Icd0e0d4b27cb4e5eb892fffd14b5166779137e63
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/tools/qsimd_p.h | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/corelib/tools/qsimd_p.h b/src/corelib/tools/qsimd_p.h index 725b6b6765..44f6f1cc91 100644 --- a/src/corelib/tools/qsimd_p.h +++ b/src/corelib/tools/qsimd_p.h @@ -287,7 +287,7 @@ #define QT_FUNCTION_TARGET_STRING_PCLMUL "pclmul,sse4.2" #define QT_FUNCTION_TARGET_STRING_POPCNT "popcnt" #define QT_FUNCTION_TARGET_STRING_F16C "f16c,avx" -#define QT_FUNCTION_TARGET_STRING_RDRAND "rdrnd" +#define QT_FUNCTION_TARGET_STRING_RDRND "rdrnd" #define QT_FUNCTION_TARGET_STRING_BMI "bmi" #define QT_FUNCTION_TARGET_STRING_BMI2 "bmi2" #define QT_FUNCTION_TARGET_STRING_RDSEED "rdseed" @@ -330,8 +330,6 @@ # include <arm_acle.h> #endif -#undef QT_COMPILER_SUPPORTS_SIMD_ALWAYS - QT_BEGIN_NAMESPACE @@ -357,7 +355,7 @@ enum CPUFeatures { CpuFeatureAES = (0 + 25), CpuFeatureAVX = (0 + 28), CpuFeatureF16C = (0 + 29), - CpuFeatureRDRAND = (0 + 30), + CpuFeatureRDRND = (0 + 30), // 31 is always zero and we've used it for the QSimdInitialized // in level 7, leaf 0, EBX @@ -396,7 +394,7 @@ static const quint64 qCompilerCpuFeatures = 0 | (Q_UINT64_C(1) << CpuFeatureRTM) #endif #ifdef __RDRND__ - | (Q_UINT64_C(1) << CpuFeatureRDRAND) + | (Q_UINT64_C(1) << CpuFeatureRDRND) #endif #ifdef __RDSEED__ | (Q_UINT64_C(1) << CpuFeatureRDSEED) |