diff options
Diffstat (limited to 'src/common/common_funcs.h')
-rw-r--r-- | src/common/common_funcs.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/common/common_funcs.h b/src/common/common_funcs.h index 973d83544..4f9e514c9 100644 --- a/src/common/common_funcs.h +++ b/src/common/common_funcs.h @@ -27,6 +27,27 @@ #define INSERT_PADDING_BYTES(num_bytes) u8 CONCAT2(pad, __LINE__)[(num_bytes)] #define INSERT_PADDING_WORDS(num_words) u32 CONCAT2(pad, __LINE__)[(num_words)] +#ifdef _WIN32 + // Alignment + #define MEMORY_ALIGNED16(x) __declspec(align(16)) x + #define MEMORY_ALIGNED32(x) __declspec(align(32)) x + #define MEMORY_ALIGNED64(x) __declspec(align(64)) x + #define MEMORY_ALIGNED128(x) __declspec(align(128)) x +#else + // Windows compatibility + #ifdef _LP64 + #define _M_X64 1 + #else + #define _M_IX86 1 + #endif + + #define __forceinline inline __attribute__((always_inline)) + #define MEMORY_ALIGNED16(x) __attribute__((aligned(16))) x + #define MEMORY_ALIGNED32(x) __attribute__((aligned(32))) x + #define MEMORY_ALIGNED64(x) __attribute__((aligned(64))) x + #define MEMORY_ALIGNED128(x) __attribute__((aligned(128))) x +#endif + #ifndef _MSC_VER #include <errno.h> |