#define SWR_VISIBLE __declspec(dllexport)
#ifndef NOMINMAX
+#undef UNICODE
#define NOMINMAX
#include <windows.h>
#undef NOMINMAX
+#define UNICODE
#else
#include <windows.h>
#endif
#undef MemoryFence
#endif
+#if defined(_MSC_VER)
#define OSALIGN(RWORD, WIDTH) __declspec(align(WIDTH)) RWORD
+#elif defined(__GNUC__)
+#define OSALIGN(RWORD, WIDTH) RWORD __attribute__((aligned(WIDTH)))
+#endif
#if defined(_DEBUG)
// We compile Debug builds with inline function expansion enabled. This allows
#endif
// gcc prior to 4.9 doesn't have _mm*_undefined_*
-#if (__GNUC__) && (GCC_VERSION < 409000)
+#if (__GNUC__) && (GCC_VERSION < 40900)
#define _mm_undefined_si128 _mm_setzero_si128
#define _mm256_undefined_ps _mm256_setzero_ps
#endif