summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qsimd.cpp
diff options
context:
space:
mode:
authorRuben Van Boxem <vanboxem.ruben@gmail.com>2010-12-07 11:29:36 (GMT)
committerOlivier Goffart <olivier.goffart@nokia.com>2010-12-07 11:30:30 (GMT)
commit8f7de974b34b6fc6c0c15dbf4cdc35e5722e2196 (patch)
treeca85c5b77ccd345747a87cf4c474ff375b61a41b /src/corelib/tools/qsimd.cpp
parentfd3fc0b34a891751e6a0849421e8cecd19481324 (diff)
downloadQt-8f7de974b34b6fc6c0c15dbf4cdc35e5722e2196.zip
Qt-8f7de974b34b6fc6c0c15dbf4cdc35e5722e2196.tar.gz
Qt-8f7de974b34b6fc6c0c15dbf4cdc35e5722e2196.tar.bz2
Fix for GCC on Windows x64.
Merge-request: 939 Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
Diffstat (limited to 'src/corelib/tools/qsimd.cpp')
-rw-r--r--src/corelib/tools/qsimd.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/corelib/tools/qsimd.cpp b/src/corelib/tools/qsimd.cpp
index 63ebafb..bc5e9e4 100644
--- a/src/corelib/tools/qsimd.cpp
+++ b/src/corelib/tools/qsimd.cpp
@@ -285,7 +285,13 @@ static inline uint detectProcessorFeatures()
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)
quint64 tmp;
asm ("xchg %%rbx, %1\n"
"cpuid\n"
@@ -294,12 +300,6 @@ static inline uint detectProcessorFeatures()
: "a" (1)
: "%edx"
);
-#elif defined (Q_OS_WIN64)
- {
- int info[4];
- __cpuid(info, 1);
- feature_result = info[2];
- }
#endif
if (feature_result & (1u))