diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/tools/qsimd.cpp | 42 | ||||
-rw-r--r-- | src/corelib/tools/qsimd_p.h | 27 | ||||
-rw-r--r-- | src/gui/gui.pro | 4 |
3 files changed, 13 insertions, 60 deletions
diff --git a/src/corelib/tools/qsimd.cpp b/src/corelib/tools/qsimd.cpp index a74a140582..0d816bd736 100644 --- a/src/corelib/tools/qsimd.cpp +++ b/src/corelib/tools/qsimd.cpp @@ -88,14 +88,6 @@ static inline uint detectProcessorFeatures() } #elif defined(_X86_) features = 0; -#if defined QT_HAVE_MMX - if (IsProcessorFeaturePresent(PF_MMX_INSTRUCTIONS_AVAILABLE)) - features |= MMX; -#endif -#if defined QT_HAVE_3DNOW - if (IsProcessorFeaturePresent(PF_3DNOW_INSTRUCTIONS_AVAILABLE)) - features |= MMX3DNOW; -#endif return features; #endif features = 0; @@ -255,18 +247,6 @@ static inline uint detectProcessorFeatures() // result now contains the standard feature bits - if (result & (1u << 15)) - features |= CMOV; - if (result & (1u << 23)) - features |= MMX; - if (extended_result & (1u << 22)) - features |= MMXEXT; - if (extended_result & (1u << 31)) - features |= MMX3DNOW; - if (extended_result & (1u << 30)) - features |= MMX3DNOWEXT; - if (result & (1u << 25)) - features |= SSE; if (result & (1u << 26)) features |= SSE2; if (feature_result & (1u)) @@ -286,7 +266,7 @@ static inline uint detectProcessorFeatures() #elif defined(__x86_64) || defined(Q_OS_WIN64) static inline uint detectProcessorFeatures() { - uint features = MMX|SSE|SSE2|CMOV; + uint features = SSE2; uint feature_result = 0; #if defined (Q_OS_WIN64) @@ -330,15 +310,9 @@ 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): - mmx - mmxext - mmx3dnow - mmx3dnowext - sse - sse2 - cmov iwmmxt neon + sse2 sse3 ssse3 sse4.1 @@ -348,15 +322,9 @@ static inline uint detectProcessorFeatures() // begin generated static const char features_string[] = - " mmx\0" - " mmxext\0" - " mmx3dnow\0" - " mmx3dnowext\0" - " sse\0" - " sse2\0" - " cmov\0" " iwmmxt\0" " neon\0" + " sse2\0" " sse3\0" " ssse3\0" " sse4.1\0" @@ -365,8 +333,8 @@ static const char features_string[] = "\0"; static const int features_indices[] = { - 0, 5, 13, 23, 36, 41, 47, 53, - 61, 67, 73, 80, 88, 96, -1 + 0, 8, 14, 20, 26, 33, 41, 49, + -1 }; // end generated diff --git a/src/corelib/tools/qsimd_p.h b/src/corelib/tools/qsimd_p.h index 44428b7284..baf697a6f5 100644 --- a/src/corelib/tools/qsimd_p.h +++ b/src/corelib/tools/qsimd_p.h @@ -133,30 +133,19 @@ QT_BEGIN_HEADER #endif #endif -// 3D now intrinsics -#if defined(QT_HAVE_3DNOW) -#include <mm3dnow.h> -#endif - QT_BEGIN_NAMESPACE enum CPUFeatures { None = 0, - MMX = 0x1, - MMXEXT = 0x2, - MMX3DNOW = 0x4, - MMX3DNOWEXT = 0x8, - SSE = 0x10, - SSE2 = 0x20, - CMOV = 0x40, - IWMMXT = 0x80, - NEON = 0x100, - SSE3 = 0x200, - SSSE3 = 0x400, - SSE4_1 = 0x800, - SSE4_2 = 0x1000, - AVX = 0x2000 + IWMMXT = 0x1, + NEON = 0x2, + SSE2 = 0x4, + SSE3 = 0x8, + SSSE3 = 0x10, + SSE4_1 = 0x20, + SSE4_2 = 0x40, + AVX = 0x80 }; Q_CORE_EXPORT uint qDetectCPUFeatures(); diff --git a/src/gui/gui.pro b/src/gui/gui.pro index 1fb3790254..29e233de12 100644 --- a/src/gui/gui.pro +++ b/src/gui/gui.pro @@ -144,10 +144,6 @@ win32:!contains(QT_CONFIG, directwrite) { QMAKE_EXTRA_COMPILERS += iwmmxt_compiler } } else { - mmx: SOURCES += $$MMX_SOURCES - 3dnow: SOURCES += $$MMX3DNOW_SOURCES - 3dnow:sse: SOURCES += $$SSE3DNOW_SOURCES - sse: SOURCES += $$SSE_SOURCES sse2: SOURCES += $$SSE2_SOURCES ssse3: SOURCES += $$SSSE3_SOURCES iwmmxt: SOURCES += $$IWMMXT_SOURCES |