aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/common/platform.h
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/platform.h
parenta594fdb66e70f6dd45ed8ed1a0969262b0529395 (diff)
Common: Move SSE detection ifdefs to platform.h
Diffstat (limited to 'src/common/platform.h')
-rw-r--r--src/common/platform.h19
1 files changed, 19 insertions, 0 deletions
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) || \