Clean up some QT_HAVE_xxx macros in qcompilerdetection.h

We no longer have code doing MMX or 3dNow! on Qt 5, so nothing defines
those macros. If nothing defines them, we don't need to undef
them. Note that the SSE case is a mislabel: the old "SSE" code on Qt 4
wasn't real SSE, it was MMX with some instructions added at the same
time as SSE was added. It's MMX that Windows 64 doesn't support.

As for QT_HAVE_ARMV6, this macro is replaced by the sub-arch detection
in qprocessordetection.h.

Change-Id: Ic3b00e1533e6b4cea32ba7824233de0a5c0fb32b
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
bb10
Thiago Macieira 2012-05-16 17:43:23 +02:00 committed by Qt by Nokia
parent 50f4e6ba8a
commit 6d7b003ac8
2 changed files with 3 additions and 12 deletions

View File

@ -105,12 +105,6 @@
# define Q_DECL_VARIABLE_DEPRECATED
# define Q_CC_INTEL
# endif
/* MSVC does not support SSE/MMX on x64 */
# if (defined(Q_CC_MSVC) && defined(_M_X64))
# undef QT_HAVE_SSE
# undef QT_HAVE_MMX
# undef QT_HAVE_3DNOW
# endif
# if defined(Q_CC_MSVC) && _MSC_VER >= 1400
# define Q_COMPILER_VARIADIC_MACROS
@ -143,9 +137,6 @@
so check for it before that */
#elif defined(__ARMCC__) || defined(__CC_ARM)
# define Q_CC_RVCT
# if __TARGET_ARCH_ARM >= 6
# define QT_HAVE_ARMV6
# endif
/* work-around for missing compiler intrinsics */
# define __is_empty(X) false
# define __is_pod(X) false

View File

@ -1944,7 +1944,7 @@ static const uint * QT_FASTCALL qt_fetch_conical_gradient(uint *buffer, const Op
// Force ARM code generation for comp_func_* -methods
# pragma push
# pragma arm
# if defined(QT_HAVE_ARMV6)
# if defined(Q_PROCESSOR_ARM_V6)
static __forceinline void preload(const uint *start)
{
asm( "pld [start]" );
@ -1957,10 +1957,10 @@ static const uint L2CacheLineLengthInInts = L2CacheLineLength/sizeof(uint);
// Two consecutive preloads stall, so space them out a bit by using different modulus.
# define PRELOAD_COND2(x,y) if (((uint)&x[i])%L2CacheLineLength == 0) preload(&x[i] + L2CacheLineLengthInInts); \
if (((uint)&y[i])%L2CacheLineLength == 16) preload(&y[i] + L2CacheLineLengthInInts);
# endif // QT_HAVE_ARMV6
# endif // Q_PROCESSOR_ARM_V6
#endif // Q_CC_RVCT
#if !defined(Q_CC_RVCT) || !defined(QT_HAVE_ARMV6)
#if !defined(Q_CC_RVCT) || !defined(Q_PROCESSOR_ARM_V6)
# define PRELOAD_INIT(x)
# define PRELOAD_INIT2(x,y)
# define PRELOAD_COND(x)