aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/common/platform.h
diff options
context:
space:
mode:
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) || \