diff options
-rw-r--r-- | config.tests/unix/iwmmxt/iwmmxt.cpp | 48 | ||||
-rw-r--r-- | config.tests/unix/iwmmxt/iwmmxt.pro | 4 | ||||
-rwxr-xr-x | configure | 18 | ||||
-rw-r--r-- | mkspecs/common/gcc-base.conf | 1 | ||||
-rw-r--r-- | mkspecs/common/qcc-base.conf | 1 | ||||
-rw-r--r-- | mkspecs/win32-g++/qmake.conf | 1 | ||||
-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 | ||||
-rw-r--r-- | src/gui/painting/painting.pri | 1 | ||||
-rw-r--r-- | src/gui/painting/qdrawhelper.cpp | 8 | ||||
-rw-r--r-- | src/gui/painting/qdrawhelper_iwmmxt.cpp | 158 | ||||
-rw-r--r-- | src/gui/painting/qdrawhelper_x86_p.h | 7 | ||||
-rw-r--r-- | tools/configure/configureapp.cpp | 19 |
14 files changed, 8 insertions, 305 deletions
diff --git a/config.tests/unix/iwmmxt/iwmmxt.cpp b/config.tests/unix/iwmmxt/iwmmxt.cpp deleted file mode 100644 index 908c6f835b..0000000000 --- a/config.tests/unix/iwmmxt/iwmmxt.cpp +++ /dev/null @@ -1,48 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the config.tests of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <mmintrin.h> - -int main(int, char**) -{ - _mm_unpackhi_pi16(_mm_setzero_si64(), _mm_setzero_si64()); - return 0; -} diff --git a/config.tests/unix/iwmmxt/iwmmxt.pro b/config.tests/unix/iwmmxt/iwmmxt.pro deleted file mode 100644 index f463176d5c..0000000000 --- a/config.tests/unix/iwmmxt/iwmmxt.pro +++ /dev/null @@ -1,4 +0,0 @@ -SOURCES = iwmmxt.cpp -CONFIG -= x11 qt -isEmpty(QMAKE_CFLAGS_IWMMXT):error("This compiler does not support iWMMXt") -else:QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_IWMMXT @@ -683,7 +683,6 @@ CFG_AVX2=auto CFG_REDUCE_RELOCATIONS=auto CFG_ACCESSIBILITY=auto CFG_ACCESSIBILITY_ATSPI_BRIDGE=no # will be enabled depending on dbus and accessibility being enabled -CFG_IWMMXT=no CFG_NEON=auto CFG_MIPS_DSP=auto CFG_MIPS_DSPR2=auto @@ -1569,9 +1568,6 @@ while [ "$#" -gt 0 ]; do UNKNOWN_OPT=yes fi ;; - iwmmxt) - CFG_IWMMXT="yes" - ;; mips_dsp) if [ "$VAL" = "no" ]; then CFG_MIPS_DSP="$VAL" @@ -4117,16 +4113,6 @@ if [ "${CFG_AVX2}" = "auto" ]; then fi fi -# check iWMMXt support -if [ "$CFG_IWMMXT" = "yes" ]; then - compileTest unix/iwmmxt "iwmmxt" - if [ $? != "0" ]; then - echo "The iWMMXt functionality test failed!" - echo " Please make sure your compiler supports iWMMXt intrinsics!" - exit 1 - fi -fi - # check Neon support if [ "$CFG_NEON" = "auto" ]; then # no compile test, just check what the compiler has @@ -5651,7 +5637,6 @@ fi [ "$CFG_SSE4_2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG sse4_2" [ "$CFG_AVX" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx" [ "$CFG_AVX2" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG avx2" -[ "$CFG_IWMMXT" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG iwmmxt" [ "$CFG_NEON" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG neon" if [ "$CFG_ARCH" = "mips" ]; then [ "$CFG_MIPS_DSP" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG mips_dsp" @@ -6079,7 +6064,6 @@ fi echo "" >>"$outpath/src/corelib/global/qconfig.h.new" echo "// Compiler sub-arch support" >>"$outpath/src/corelib/global/qconfig.h.new" for SUBARCH in SSE2 SSE3 SSSE3 SSE4_1 SSE4_2 AVX AVX2 \ - IWMMXT \ MIPS_DSP MIPS_DSPR2; do eval "VAL=\$CFG_$SUBARCH" case "$VAL" in @@ -6524,7 +6508,7 @@ if [ "$CFG_ARCH" = "i386" -o "$CFG_ARCH" = "x86_64" ]; then echo " SSE4.1/SSE4.2 ........ ${CFG_SSE4_1}/${CFG_SSE4_2}" echo " AVX/AVX2 ............. ${CFG_AVX}/${CFG_AVX2}" elif [ "$CFG_ARCH" = "arm" ]; then - echo " iWMMXt/Neon .......... ${CFG_IWMMXT}/${CFG_NEON}" + echo " Neon ................. ${CFG_NEON}" elif [ "$CFG_ARCH" = "mips" ]; then echo " DSP/DSPr2 ............ ${CFG_MIPS_DSP}/${CFG_MIPS_DSPR2}" fi diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf index 06d87d7b36..a149f4d907 100644 --- a/mkspecs/common/gcc-base.conf +++ b/mkspecs/common/gcc-base.conf @@ -79,5 +79,4 @@ QMAKE_CFLAGS_SSE4_1 += -msse4.1 QMAKE_CFLAGS_SSE4_2 += -msse4.2 QMAKE_CFLAGS_AVX += -mavx QMAKE_CFLAGS_AVX2 += -mavx2 -QMAKE_CFLAGS_IWMMXT += -mcpu=iwmmxt QMAKE_CFLAGS_NEON += -mfpu=neon diff --git a/mkspecs/common/qcc-base.conf b/mkspecs/common/qcc-base.conf index 32645e539a..122f940ec3 100644 --- a/mkspecs/common/qcc-base.conf +++ b/mkspecs/common/qcc-base.conf @@ -29,7 +29,6 @@ QMAKE_CFLAGS_SSE4_1 += -msse4.1 QMAKE_CFLAGS_SSE4_2 += -msse4.2 QMAKE_CFLAGS_AVX += -mavx QMAKE_CFLAGS_AVX2 += -mavx2 -QMAKE_CFLAGS_IWMMXT += -mcpu=iwmmxt QMAKE_CFLAGS_NEON += -mfpu=neon QMAKE_CXXFLAGS += $$QMAKE_CFLAGS -lang-c++ diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf index 01c8ab9bc3..9f0188be80 100644 --- a/mkspecs/win32-g++/qmake.conf +++ b/mkspecs/win32-g++/qmake.conf @@ -40,7 +40,6 @@ QMAKE_CFLAGS_SSE4_1 = -msse4.1 QMAKE_CFLAGS_SSE4_2 = -msse4.2 QMAKE_CFLAGS_AVX = -mavx QMAKE_CFLAGS_AVX2 = -mavx2 -QMAKE_CFLAGS_IWMMXT = -mcpu=iwmmxt QMAKE_CFLAGS_NEON = -mfpu=neon QMAKE_CXX = $${CROSS_COMPILE}g++ 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(); diff --git a/src/gui/painting/painting.pri b/src/gui/painting/painting.pri index 31c0c214d5..a5a395cce2 100644 --- a/src/gui/painting/painting.pri +++ b/src/gui/painting/painting.pri @@ -93,7 +93,6 @@ SOURCES += \ SSE2_SOURCES += painting/qdrawhelper_sse2.cpp SSSE3_SOURCES += painting/qdrawhelper_ssse3.cpp -IWMMXT_SOURCES += painting/qdrawhelper_iwmmxt.cpp !ios { CONFIG += no_clang_integrated_as diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp index ffb952bce4..9292eeb4a5 100644 --- a/src/gui/painting/qdrawhelper.cpp +++ b/src/gui/painting/qdrawhelper.cpp @@ -6801,14 +6801,6 @@ void qInitDrawhelperAsm() functionForModeSolidAsm = qt_functionForModeSolid_SSE2; #endif // SSE2 -#ifdef QT_COMPILER_SUPPORTS_IWMMXT - if (features & IWMMXT) { - functionForModeAsm = qt_functionForMode_IWMMXT; - functionForModeSolidAsm = qt_functionForModeSolid_IWMMXT; - qDrawHelper[QImage::Format_ARGB32_Premultiplied].blendColor = qt_blend_color_argb_iwmmxt; - } -#endif // IWMMXT - #if defined(__ARM_NEON__) && !defined(Q_OS_IOS) qBlendFunctions[QImage::Format_RGB32][QImage::Format_RGB32] = qt_blend_rgb32_on_rgb32_neon; qBlendFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_RGB32] = qt_blend_rgb32_on_rgb32_neon; diff --git a/src/gui/painting/qdrawhelper_iwmmxt.cpp b/src/gui/painting/qdrawhelper_iwmmxt.cpp deleted file mode 100644 index 7b734fdfc6..0000000000 --- a/src/gui/painting/qdrawhelper_iwmmxt.cpp +++ /dev/null @@ -1,158 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3.0 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU General Public License version 3.0 requirements will be -** met: http://www.gnu.org/copyleft/gpl.html. -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifdef QT_COMPILER_SUPPORTS_IWMMXT - -#include <mmintrin.h> -#if defined(Q_OS_WINCE) -# include "qplatformdefs.h" -#endif -#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 - -#include <private/qdrawhelper_sse_p.h> - -QT_BEGIN_NAMESPACE - -#ifndef _MM_SHUFFLE -#define _MM_SHUFFLE(fp3,fp2,fp1,fp0) \ - (((fp3) << 6) | ((fp2) << 4) | ((fp1) << 2) | (fp0)) -#endif - -struct QIWMMXTIntrinsics : public QMMXCommonIntrinsics -{ - static inline m64 alpha(m64 x) { - return _mm_shuffle_pi16 (x, _MM_SHUFFLE(3, 3, 3, 3)); - } - - static inline m64 _load_alpha(uint x, const m64 &mmx_0x0000) { - m64 t = _mm_unpacklo_pi8(_mm_cvtsi32_si64(x), mmx_0x0000); - return _mm_shuffle_pi16(t, _MM_SHUFFLE(0, 0, 0, 0)); - } - - static inline void end() { - } -}; - -CompositionFunctionSolid qt_functionForModeSolid_IWMMXT[numCompositionFunctions] = { - comp_func_solid_SourceOver<QIWMMXTIntrinsics>, - comp_func_solid_DestinationOver<QIWMMXTIntrinsics>, - comp_func_solid_Clear<QIWMMXTIntrinsics>, - comp_func_solid_Source<QIWMMXTIntrinsics>, - 0, - comp_func_solid_SourceIn<QIWMMXTIntrinsics>, - comp_func_solid_DestinationIn<QIWMMXTIntrinsics>, - comp_func_solid_SourceOut<QIWMMXTIntrinsics>, - comp_func_solid_DestinationOut<QIWMMXTIntrinsics>, - comp_func_solid_SourceAtop<QIWMMXTIntrinsics>, - comp_func_solid_DestinationAtop<QIWMMXTIntrinsics>, - comp_func_solid_XOR<QIWMMXTIntrinsics>, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // svg 1.2 modes - rasterop_solid_SourceOrDestination<QIWMMXTIntrinsics>, - rasterop_solid_SourceAndDestination<QIWMMXTIntrinsics>, - rasterop_solid_SourceXorDestination<QIWMMXTIntrinsics>, - rasterop_solid_NotSourceAndNotDestination<QIWMMXTIntrinsics>, - rasterop_solid_NotSourceOrNotDestination<QIWMMXTIntrinsics>, - rasterop_solid_NotSourceXorDestination<QIWMMXTIntrinsics>, - rasterop_solid_NotSource<QIWMMXTIntrinsics>, - rasterop_solid_NotSourceAndDestination<QIWMMXTIntrinsics>, - rasterop_solid_SourceAndNotDestination<QIWMMXTIntrinsics>, - rasterop_solid_NotSourceOrDestination<QIWMMXTIntrinsics>, - rasterop_solid_SourceOrNotDestination<QIWMMXTIntrinsics>, - rasterop_solid_ClearDestination<QIWMMXTIntrinsics>, - rasterop_solid_SetDestination<QIWMMXTIntrinsics>, - rasterop_solid_NotDestination<QIWMMXTIntrinsics> -}; - -CompositionFunction qt_functionForMode_IWMMXT[] = { - comp_func_SourceOver<QIWMMXTIntrinsics>, - comp_func_DestinationOver<QIWMMXTIntrinsics>, - comp_func_Clear<QIWMMXTIntrinsics>, - comp_func_Source<QIWMMXTIntrinsics>, - comp_func_Destination, - comp_func_SourceIn<QIWMMXTIntrinsics>, - comp_func_DestinationIn<QIWMMXTIntrinsics>, - comp_func_SourceOut<QIWMMXTIntrinsics>, - comp_func_DestinationOut<QIWMMXTIntrinsics>, - comp_func_SourceAtop<QIWMMXTIntrinsics>, - comp_func_DestinationAtop<QIWMMXTIntrinsics>, - comp_func_XOR<QIWMMXTIntrinsics>, - comp_func_Plus, - comp_func_Multiply, - comp_func_Screen, - comp_func_Overlay, - comp_func_Darken, - comp_func_Lighten, - comp_func_ColorDodge, - comp_func_ColorBurn, - comp_func_HardLight, - comp_func_SoftLight, - comp_func_Difference, - comp_func_Exclusion, - rasterop_SourceOrDestination, - rasterop_SourceAndDestination, - rasterop_SourceXorDestination, - rasterop_NotSourceAndNotDestination, - rasterop_NotSourceOrNotDestination, - rasterop_NotSourceXorDestination, - rasterop_NotSource, - rasterop_NotSourceAndDestination, - rasterop_SourceAndNotDestination, - rasterop_NotSourceOrDestination, - rasterop_SourceOrNotDestination, - rasterop_ClearDestination, - rasterop_SetDestination, - rasterop_NotDestination -}; - -void qt_blend_color_argb_iwmmxt(int count, const QSpan *spans, void *userData) -{ - qt_blend_color_argb_x86<QIWMMXTIntrinsics>(count, spans, userData, - (CompositionFunctionSolid*)qt_functionForModeSolid_IWMMXT); -} - -#endif // QT_COMPILER_SUPPORTS_IWMMXT - -QT_END_NAMESPACE diff --git a/src/gui/painting/qdrawhelper_x86_p.h b/src/gui/painting/qdrawhelper_x86_p.h index 97c1f87c2a..dfbb38eb2d 100644 --- a/src/gui/painting/qdrawhelper_x86_p.h +++ b/src/gui/painting/qdrawhelper_x86_p.h @@ -82,13 +82,6 @@ extern CompositionFunction qt_functionForMode_SSE2[]; extern CompositionFunctionSolid qt_functionForModeSolid_SSE2[]; #endif // __SSE2__ -#ifdef QT_COMPILER_SUPPORTS_IWMMXT -void qt_blend_color_argb_iwmmxt(int count, const QSpan *spans, void *userData); - -extern CompositionFunction qt_functionForMode_IWMMXT[]; -extern CompositionFunctionSolid qt_functionForModeSolid_IWMMXT[]; -#endif - static const int numCompositionFunctions = 38; QT_END_NAMESPACE diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index f8715ef32e..63f85791a4 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -170,7 +170,6 @@ Configure::Configure(int& argc, char** argv) dictionary[ "SSE4_2" ] = "auto"; dictionary[ "AVX" ] = "auto"; dictionary[ "AVX2" ] = "auto"; - dictionary[ "IWMMXT" ] = "auto"; dictionary[ "SYNCQT" ] = "auto"; dictionary[ "CE_CRT" ] = "no"; dictionary[ "CETEST" ] = "auto"; @@ -858,10 +857,6 @@ void Configure::parseCmdLine() dictionary[ "AVX2" ] = "no"; else if (configCmdLine.at(i) == "-avx2") dictionary[ "AVX2" ] = "yes"; - else if (configCmdLine.at(i) == "-no-iwmmxt") - dictionary[ "IWMMXT" ] = "no"; - else if (configCmdLine.at(i) == "-iwmmxt") - dictionary[ "IWMMXT" ] = "yes"; else if (configCmdLine.at(i) == "-no-openssl") { dictionary[ "OPENSSL"] = "no"; @@ -1657,15 +1652,12 @@ void Configure::applySpecSpecifics() dictionary[ "SSE4_2" ] = "no"; dictionary[ "AVX" ] = "no"; dictionary[ "AVX2" ] = "no"; - dictionary[ "IWMMXT" ] = "no"; dictionary[ "CE_CRT" ] = "yes"; dictionary[ "LARGE_FILE" ] = "no"; dictionary[ "ANGLE" ] = "no"; dictionary[ "DYNAMICGL" ] = "no"; - // We only apply MMX/IWMMXT for mkspecs we know they work if (dictionary[ "XQMAKESPEC" ].startsWith("wincewm")) { dictionary[ "MMX" ] = "yes"; - dictionary[ "IWMMXT" ] = "yes"; } } else if (dictionary.value("XQMAKESPEC").startsWith("linux")) { //TODO actually wrong. //TODO @@ -2006,8 +1998,6 @@ bool Configure::displayHelp() // Qt\Windows CE only options go below here ----------------------------------------------------------------------------- desc("Qt for Windows CE only:\n\n"); - desc("IWMMXT", "no", "-no-iwmmxt", "Do not compile with use of IWMMXT instructions."); - desc("IWMMXT", "yes", "-iwmmxt", "Do compile with use of IWMMXT instructions. (Qt for Windows CE on Arm only)\n"); desc("CE_CRT", "no", "-no-crt" , "Do not add the C runtime to default deployment rules."); desc("CE_CRT", "yes", "-qt-crt", "Qt identifies C runtime during project generation."); desc( "-crt <path>", "Specify path to C runtime used for project generation.\n"); @@ -2208,8 +2198,6 @@ bool Configure::checkAvailability(const QString &part) available = findFile("sqlite.h") && findFile("sqlite.lib"); else if (part == "SQL_IBASE") available = findFile("ibase.h") && (findFile("gds32_ms.lib") || findFile("gds32.lib")); - else if (part == "IWMMXT") - available = (dictionary.value("XQMAKESPEC").startsWith("wince")); else if (part == "OPENGL_ES_2") available = (dictionary.value("XQMAKESPEC").startsWith("wince")); else if (part == "SSE2") @@ -2383,8 +2371,6 @@ void Configure::autoDetection() dictionary["AVX"] = checkAvailability("AVX") ? "yes" : "no"; if (dictionary["AVX2"] == "auto") dictionary["AVX2"] = checkAvailability("AVX2") ? "yes" : "no"; - if (dictionary["IWMMXT"] == "auto") - dictionary["IWMMXT"] = checkAvailability("IWMMXT") ? "yes" : "no"; if (dictionary["NEON"] == "auto") dictionary["NEON"] = checkAvailability("NEON") ? "yes" : "no"; if (dictionary["OPENSSL"] == "auto") @@ -3059,8 +3045,6 @@ void Configure::generateCachefile() moduleStream << " avx"; if (dictionary[ "AVX2" ] == "yes") moduleStream << " avx2"; - if (dictionary[ "IWMMXT" ] == "yes") - moduleStream << " iwmmxt"; if (dictionary[ "NEON" ] == "yes") moduleStream << " neon"; if (dictionary[ "LARGE_FILE" ] == "yes") @@ -3500,8 +3484,6 @@ void Configure::generateConfigfiles() tmpStream << "#define QT_COMPILER_SUPPORTS_AVX 1" << endl; if (dictionary[ "AVX2" ] == "yes") tmpStream << "#define QT_COMPILER_SUPPORTS_AVX2 1" << endl; - if (dictionary[ "IWMMXT" ] == "yes") - tmpStream << "#define QT_COMPILER_SUPPORTS_IWMMXT 1" << endl; if (dictionary["QREAL"] != "double") { tmpStream << "#define QT_COORD_TYPE " << dictionary["QREAL"] << endl; @@ -3663,7 +3645,6 @@ void Configure::displayConfig() sout << "AVX support................." << dictionary[ "AVX" ] << endl; sout << "AVX2 support................" << dictionary[ "AVX2" ] << endl; sout << "NEON support................" << dictionary[ "NEON" ] << endl; - sout << "IWMMXT support.............." << dictionary[ "IWMMXT" ] << endl; sout << "OpenGL support.............." << dictionary[ "OPENGL" ] << endl; sout << "Large File support.........." << dictionary[ "LARGE_FILE" ] << endl; sout << "NIS support................." << dictionary[ "NIS" ] << endl; |