aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/common
diff options
context:
space:
mode:
authorGravatar Yuri Kunde Schlesner <yuriks@yuriks.net>2015-05-06 23:18:04 -0300
committerGravatar Yuri Kunde Schlesner <yuriks@yuriks.net>2015-05-07 15:45:20 -0300
commitae963d75f8ac37dd870054c20ff14f4e5418f661 (patch)
tree6209719ebaf0729292cdc97b4ac952dab1773b7b /src/common
parenta594fdb66e70f6dd45ed8ed1a0969262b0529395 (diff)
Common: Move SSE detection ifdefs to platform.h
Diffstat (limited to 'src/common')
-rw-r--r--src/common/common.h16
-rw-r--r--src/common/hash.cpp2
-rw-r--r--src/common/platform.h19
3 files changed, 21 insertions, 16 deletions
diff --git a/src/common/common.h b/src/common/common.h
index 00d1d14f..e8d32bc9 100644
--- a/src/common/common.h
+++ b/src/common/common.h
@@ -39,20 +39,4 @@
#define MEMORY_ALIGNED128(x) __attribute__((aligned(128))) x
#endif
-#if defined _M_GENERIC
-# define _M_SSE 0x0
-#elif defined __GNUC__
-# if defined __SSE4_2__
-# define _M_SSE 0x402
-# elif defined __SSE4_1__
-# define _M_SSE 0x401
-# elif defined __SSSE3__
-# define _M_SSE 0x301
-# elif defined __SSE3__
-# define _M_SSE 0x300
-# endif
-#elif (_MSC_VER >= 1500) || __INTEL_COMPILER // Visual Studio 2008
-# define _M_SSE 0x402
-#endif
-
#include "swap.h"
diff --git a/src/common/hash.cpp b/src/common/hash.cpp
index 0624dab8..3e62beff 100644
--- a/src/common/hash.cpp
+++ b/src/common/hash.cpp
@@ -5,6 +5,8 @@
#include <algorithm>
#include "common/hash.h"
+#include "common/platform.h"
+
#if _M_SSE >= 0x402
#include "common/cpu_detect.h"
#include <nmmintrin.h>
diff --git a/src/common/platform.h b/src/common/platform.h
index fc680d54..1516dc88 100644
--- a/src/common/platform.h
+++ b/src/common/platform.h
@@ -64,6 +64,25 @@
#endif
////////////////////////////////////////////////////////////////////////////////////////////////////
+// Feature detection
+
+#if defined _M_GENERIC
+# define _M_SSE 0x0
+#elif defined __GNUC__
+# if defined __SSE4_2__
+# define _M_SSE 0x402
+# elif defined __SSE4_1__
+# define _M_SSE 0x401
+# elif defined __SSSE3__
+# define _M_SSE 0x301
+# elif defined __SSE3__
+# define _M_SSE 0x300
+# endif
+#elif (_MSC_VER >= 1500) || __INTEL_COMPILER // Visual Studio 2008
+# define _M_SSE 0x402
+#endif
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
// Compiler-Specific Definitions
#define GCC_VERSION_AVAILABLE(major, minor) (defined(__GNUC__) && (__GNUC__ > (major) || \