summaryrefslogtreecommitdiffstats
path: root/src/corelib/global/qsimd_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2020-02-13 19:15:32 +0100
committerLars Knoll <lars.knoll@qt.io>2020-03-26 09:15:37 +0100
commitf2208c59e70333cecf613390917a104f7c1f110b (patch)
tree41eb92aca17942db5ad95f10e4218c90d4e46421 /src/corelib/global/qsimd_p.h
parentf2f32b88b873b8b18cc1b9e1f66135e6d09b9286 (diff)
Add a public qsimd.h header
This header only covers a part of what qsimd_p.h does, namely the compile time detection of simd extensions. Change-Id: I05f1d987f194a5bec335f2405cc2846fbaa88b66 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/global/qsimd_p.h')
-rw-r--r--src/corelib/global/qsimd_p.h21
1 files changed, 1 insertions, 20 deletions
diff --git a/src/corelib/global/qsimd_p.h b/src/corelib/global/qsimd_p.h
index 26e98c4542..2f2d49348f 100644
--- a/src/corelib/global/qsimd_p.h
+++ b/src/corelib/global/qsimd_p.h
@@ -53,6 +53,7 @@
//
#include <QtCore/private/qglobal_p.h>
+#include <QtCore/qsimd.h>
/*
* qt_module_config.prf defines the QT_COMPILER_SUPPORTS_XXX macros.
@@ -183,12 +184,6 @@
# if defined(Q_CC_MSVC) && (defined(_M_X64) || _M_IX86_FP >= 2)
// MSVC doesn't define __SSE2__, so do it ourselves
# define __SSE__ 1
-# define __SSE2__ 1
-# endif
-
-# ifdef __SSE2__
-// #include the intrinsics
-# include <immintrin.h>
# endif
# if defined(Q_CC_GNU) && !defined(Q_CC_INTEL)
@@ -196,19 +191,6 @@
# include <x86intrin.h>
# endif
-# if defined(Q_CC_MSVC) && (defined(_M_AVX) || defined(__AVX__))
-// Visual Studio defines __AVX__ when /arch:AVX is passed, but not the earlier macros
-// See: https://msdn.microsoft.com/en-us/library/b0084kay.aspx
-# define __SSE3__ 1
-# define __SSSE3__ 1
-// no Intel CPU supports SSE4a, so don't define it
-# define __SSE4_1__ 1
-# define __SSE4_2__ 1
-# ifndef __AVX__
-# define __AVX__ 1
-# endif
-# endif
-
# if defined(__SSE4_2__) && defined(QT_COMPILER_SUPPORTS_SIMD_ALWAYS) && (defined(Q_CC_INTEL) || defined(Q_CC_MSVC))
// POPCNT instructions:
// All processors that support SSE4.2 support POPCNT
@@ -287,7 +269,6 @@ QT_END_NAMESPACE
// NEON intrinsics
// note: as of GCC 4.9, does not support function targets for ARM
#if defined(__ARM_NEON) || defined(__ARM_NEON__)
-#include <arm_neon.h>
#define QT_FUNCTION_TARGET_STRING_NEON "+neon" // unused: gcc doesn't support function targets on non-aarch64, and on Aarch64 NEON is always available.
#ifndef __ARM_NEON__
// __ARM_NEON__ is not defined on AArch64, but we need it in our NEON detection.