diff options
author | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2015-05-06 23:18:04 -0300 |
---|---|---|
committer | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2015-05-07 15:45:20 -0300 |
commit | ae963d75f8ac37dd870054c20ff14f4e5418f661 (patch) | |
tree | 6209719ebaf0729292cdc97b4ac952dab1773b7b | |
parent | a594fdb66e70f6dd45ed8ed1a0969262b0529395 (diff) |
Common: Move SSE detection ifdefs to platform.h
-rw-r--r-- | src/common/common.h | 16 | ||||
-rw-r--r-- | src/common/hash.cpp | 2 | ||||
-rw-r--r-- | src/common/platform.h | 19 |
3 files changed, 21 insertions, 16 deletions
diff --git a/src/common/common.h b/src/common/common.h index 00d1d14f94..e8d32bc937 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 0624dab8df..3e62beff41 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 fc680d549a..1516dc88a7 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) || \ |