File qt-4.7.1-xchg.patch of Package mingw32-libqt4
--- src/corelib/tools/qsimd.cpp 2010-11-06 02:55:19.000000000 +0100
+++ src/corelib/tools/qsimd.cpp 2010-11-11 15:41:20.000000000 +0100
@@ -47,7 +47,7 @@
#include <windows.h>
#endif
-#if defined(Q_OS_WIN64) && !defined(Q_CC_GNU)
+#if defined(Q_OS_WIN64)
#include <intrin.h>
#endif
@@ -285,7 +285,13 @@
uint features = MMX|SSE|SSE2|CMOV;
uint feature_result = 0;
-#if defined(Q_CC_GNU)
+#if defined (Q_OS_WIN64)
+ {
+ int info[4];
+ __cpuid(info, 1);
+ feature_result = info[2];
+ }
+#elif defined(Q_CC_GNU)
long tmp;
asm ("xchg %%rbx, %1\n"
"cpuid\n"
@@ -294,12 +300,6 @@
: "a" (1)
: "%edx"
);
-#elif defined (Q_OS_WIN64)
- {
- int info[4];
- __cpuid(info, 1);
- feature_result = info[2];
- }
#endif
if (feature_result & (1u))