diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2014-06-24 17:52:14 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2014-08-05 19:23:31 +0200 |
commit | 11bbacf19474844a9a48996db9cb79bd30e3246b (patch) | |
tree | 1d0c997531dbcde79be743e2a6eb440b08225f5b /src/corelib | |
parent | 9c22b5c30a1c9f519f571ff997991804e096c586 (diff) |
Remove the last remnants of iWMMXt in Qt
This code hasn't been tested for at least 4 years. It's not maintained
and probably doesn't work.
Change-Id: I4b9a5179e34111b400914f91caa6b741b69771bb
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/global/qcompilerdetection.h | 1 | ||||
-rw-r--r-- | src/corelib/tools/qsimd.cpp | 22 | ||||
-rw-r--r-- | src/corelib/tools/qsimd_p.h | 24 |
3 files changed, 7 insertions, 40 deletions
diff --git a/src/corelib/global/qcompilerdetection.h b/src/corelib/global/qcompilerdetection.h index 02365449e5..3bf1cc0cbb 100644 --- a/src/corelib/global/qcompilerdetection.h +++ b/src/corelib/global/qcompilerdetection.h @@ -1069,7 +1069,6 @@ # undef QT_COMPILER_SUPPORTS_AVX2 #endif #if !defined(Q_PROCESSOR_ARM) -# undef QT_COMPILER_SUPPORTS_IWMMXT # undef QT_COMPILER_SUPPORTS_NEON #endif #if !defined(Q_PROCESSOR_MIPS) diff --git a/src/corelib/tools/qsimd.cpp b/src/corelib/tools/qsimd.cpp index 64f13cf1e7..0271e2ff68 100644 --- a/src/corelib/tools/qsimd.cpp +++ b/src/corelib/tools/qsimd.cpp @@ -54,14 +54,13 @@ # include <intrin.h> # endif # endif -#elif defined(Q_OS_LINUX) && (defined(Q_PROCESSOR_ARM) || defined(Q_PROCESSOR_MIPS_32) || defined(QT_COMPILER_SUPPORTS_IWMMXT)) +#elif defined(Q_OS_LINUX) && (defined(Q_PROCESSOR_ARM) || defined(Q_PROCESSOR_MIPS_32)) #include "private/qcore_unix_p.h" // the kernel header definitions for HWCAP_* // (the ones we need/may need anyway) // copied from <asm/hwcap.h> (ARM) -#define HWCAP_IWMMXT 512 #define HWCAP_CRUNCH 1024 #define HWCAP_THUMBEE 2048 #define HWCAP_NEON 4096 @@ -86,8 +85,6 @@ static inline uint detectProcessorFeatures() uint features = 0; #if defined (ARM) - if (IsProcessorFeaturePresent(PF_ARM_INTEL_WMMX)) - features |= IWMMXT; # ifdef PF_ARM_NEON if (IsProcessorFeaturePresent(PF_ARM_NEON)) features |= ARM_NEON; @@ -101,7 +98,7 @@ static inline uint detectProcessorFeatures() return features; } -#elif defined(Q_PROCESSOR_ARM) || defined(QT_COMPILER_SUPPORTS_IWMMXT) +#elif defined(Q_PROCESSOR_ARM) static inline uint detectProcessorFeatures() { uint features = 0; @@ -121,8 +118,6 @@ static inline uint detectProcessorFeatures() int max = nread / (sizeof vector[0]); for (int i = 0; i < max; i += 2) if (vector[i] == AT_HWCAP) { - if (vector[i+1] & HWCAP_IWMMXT) - features |= IWMMXT; if (vector[i+1] & HWCAP_NEON) features |= NEON; break; @@ -135,10 +130,7 @@ static inline uint detectProcessorFeatures() // fall back if /proc/self/auxv wasn't found #endif -#if defined(QT_COMPILER_SUPPORTS_IWMMXT) - // runtime detection only available when running as a previlegied process - features = IWMMXT; -#elif defined(__ARM_NEON__) +#if defined(__ARM_NEON__) features = NEON; #endif @@ -470,7 +462,7 @@ static inline uint detectProcessorFeatures() /* * Use kdesdk/scripts/generate_string_table.pl to update the table below. * Here's the data (don't forget the ONE leading space): - iwmmxt + neon sse2 sse3 @@ -487,7 +479,7 @@ static inline uint detectProcessorFeatures() // begin generated static const char features_string[] = - " iwmmxt\0" + "\0" " neon\0" " sse2\0" " sse3\0" @@ -503,8 +495,8 @@ static const char features_string[] = "\0"; static const int features_indices[] = { - 0, 8, 14, 20, 26, 33, 41, 49, - 54, 60, 65, 70, 75, -1 + 0, 1, 7, 13, 19, 26, 34, 42, + 47, 53, 58, 63, 68, -1 }; // end generated diff --git a/src/corelib/tools/qsimd_p.h b/src/corelib/tools/qsimd_p.h index 19a1943367..084e09db63 100644 --- a/src/corelib/tools/qsimd_p.h +++ b/src/corelib/tools/qsimd_p.h @@ -63,7 +63,6 @@ * Supported XXX are: * Flag | Arch | GCC | Intel CC | MSVC | * ARM_NEON | ARM | I & C | None | ? | - * IWMMXT | ARM | I & C | None | I & C | * SSE2 | x86 | I & C | I & C | I & C | * SSE3 | x86 | I & C | I & C | I only | * SSSE3 | x86 | I & C | I & C | I only | @@ -236,31 +235,12 @@ #define QT_FUNCTION_TARGET_STRING_ARM_NEON "neon" #endif - -// IWMMXT intrinsics -#if defined(QT_COMPILER_SUPPORTS_IWMMXT) -#include <mmintrin.h> -#if defined(Q_OS_WINCE) -# include "qplatformdefs.h" -#endif -#endif - -#if defined(QT_COMPILER_SUPPORTS_IWMMXT) -#if !defined(__IWMMXT__) && !defined(Q_OS_WINCE) -# include <xmmintrin.h> -#elif defined(Q_OS_WINCE_STD) && defined(_X86_) -# pragma warning(disable: 4391) -# include <xmmintrin.h> -#endif -#endif - #undef QT_COMPILER_SUPPORTS_SIMD_ALWAYS QT_BEGIN_NAMESPACE enum CPUFeatures { - IWMMXT = 0x1, NEON = 0x2, ARM_NEON = NEON, SSE2 = 0x4, SSE3 = 0x8, @@ -309,9 +289,6 @@ static const uint qCompilerCpuFeatures = 0 #if defined __ARM_NEON__ | NEON #endif -#if defined __IWMMXT__ - | IWMMXT -#endif #if defined __mips_dsp | DSP #endif @@ -320,7 +297,6 @@ static const uint qCompilerCpuFeatures = 0 #endif ; - extern Q_CORE_EXPORT QBasicAtomicInt qt_cpu_features; Q_CORE_EXPORT void qDetectCpuFeatures(); |