Common: Move SSE detection ifdefs to platform.h

This commit is contained in:
Yuri Kunde Schlesner 2015-05-06 23:18:04 -03:00
parent a594fdb66e
commit ae963d75f8
3 changed files with 21 additions and 16 deletions

View file

@ -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"

View file

@ -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>

View file

@ -63,6 +63,25 @@
#define EMU_ARCHITECTURE_X86
#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