summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qsimd.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Update licenseheader text in source filesJyri Tahtela2011-05-131-17/+17
| | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* Update copyright year to 2011.Jason McDonald2011-01-101-1/+1
| | | | Reviewed-by: Trust Me
* Fix for GCC on Windows x64.Ruben Van Boxem2010-12-071-7/+7
| | | | | Merge-request: 939 Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
* Don't set -mfpu=neon globally if the compiler supports neon.Samuel Rødal2010-11-111-1/+1
| | | | | | | | | | By default only drawhelpers and image loaders will now use neon. If -mfpu=neon has been explicitly enabled in the mkspec, QT_ALWAYS_HAVE_NEON will be defined, allowing the use of neon intrinsics elsewhere. Task-number: QTBUG-15163 Reviewed-by: Benjamin Poulain <benjamin.poulain@nokia.com>
* Use quint64 (long long) instead of long for the GCC assembly code.Thiago Macieira2010-09-281-1/+1
| | | | | | | | Windows 64-bit has sizeof(long) == 4, which doesn't match the register size. Task-number: reported on IRC Reviewed-by: Trust Me
* Work around a compiler bug on 64-bit.Thiago Macieira2010-09-081-3/+6
| | | | | | | | Some GCC versions seem to think that the EBX register is the PIC register even on 64-bit. So instead of telling GCC that we clobbered it, save it instead on a temporary register. Reviewed-by: Trust Me
* Fix compilation on ARM: don't include kernel headersThiago Macieira2010-09-061-2/+14
| | | | | | | | | | | Kernel headers are sometimes evil that they are incompatible or missing. At least one toolchain on ARM doesn't have them, so don't include. Instead, copy the definitions. The kernel ABI is stable so these values won't change on us. Reviewed-by: Benjamin Poulain
* Update the cpuid code to be betterThiago Macieira2010-09-021-69/+37
| | | | | | | | | There's no need to test and retest if the cpuid instruction is present on 32-bit. There's no need to test it at all on 64-bit. We don't know why, but it also fixes some problems on 64-bit. Approving-nod-from: Bradley Hughes
* Fix building of qsimd.cpp on Windows CEThiago Macieira2010-08-241-0/+2
|
* Properly implement the CPU feature disabling in qsimd.cpp.Thiago Macieira2010-08-241-97/+60
| | | | | | | | | Don't use ^=, since that might enable a feature that wasn't detected. The new use is: export QT_NO_CPU_FEATURE="<feature1> [<feature2>]" Reviewed-by: Benjamin Poulain
* Report the detected CPU features in the corelib boilerplateThiago Macieira2010-08-241-0/+53
|
* Detect CPU features on ARM by reading the ELF auxvec.Thiago Macieira2010-08-241-2/+43
| | | | Reviewed-by: Benjamin Poulain
* Split the CPU-detection code into multiple functions for readabilityThiago Macieira2010-08-241-17/+69
| | | | Reviewed-By: Benjamin Poulain
* Fix compilation on 64-bit Windows.Kim Motoyoshi Kalland2010-07-281-25/+8
| | | | | | | When compiling for 64-bit with Visual Studio 2008, inline assembly is not supported. Use intrisic instead. Reviewed-by: Benjamin Poulain
* CPU feature detection for x86_64Andreas Kling2010-07-261-0/+67
| | | | | | | | | Previously we've only done feature detection for i386 CPUs since we can assume all x86_64 processors have MMX/3DNOW/SSE2. No assumptions can be made about SSE3 and newer features, so now that we start using those, we need to check for their presence with CPUID on 64-bit processors as well.
* Use the appropriate CPUID bitmap for detecting SSE3 etcAndreas Kling2010-07-261-6/+9
| | | | | This information actually comes from ECX after CPUID(0x00000001), not EDX after CPUID(0x80000001)
* Extend the detection of CPU feature for x86Benjamin Poulain2010-07-191-0/+11
| | | | | | Add detection of CPU extension for SSE3, SSSE3, SSE4.1, SSE4.2 and AVX. Reviewed-by: Andreas Kling
* compile fix for WinCE Armv4iMaurice Kalinowski2010-04-071-0/+4
| | | | | | missing include Reviewed-by: Joerg Bornemann
* Build fixes for the SIMD functionsBenjamin Poulain2010-02-231-2/+2
| | | | | Two semicolons were missing for arm. The MMX header was included for all non-x86 platforms.
* Cache the result of qDetectCPUFeatures()Benjamin Poulain2010-02-231-7/+26
| | | | | | | Move the caching of the result from drawhelper to qsimd.cpp. Avoid getting the environment variables when not necessary Reviewed-by: Samuel Rødal
* Move the SIMD detection from QtGui to QtCoreBenjamin Poulain2010-02-231-0/+227
The SIMD instructions are useful outside painting code, the common functions are moved to QtCore Reviewed-by: Samuel Rødal