summaryrefslogtreecommitdiffstats
path: root/src/common/common_funcs.h
diff options
context:
space:
mode:
authorYuri Kunde Schlesner <yuriks@yuriks.net>2015-05-07 04:26:19 +0200
committerYuri Kunde Schlesner <yuriks@yuriks.net>2015-05-07 20:45:21 +0200
commit1bd1a13a02e317a50252b0b5d5077b6ab2dbef53 (patch)
tree0ef5da2dd302996c2d36ea283d6d6cde663ac16f /src/common/common_funcs.h
parentCommon: Move SSE detection ifdefs to platform.h (diff)
downloadyuzu-1bd1a13a02e317a50252b0b5d5077b6ab2dbef53.tar
yuzu-1bd1a13a02e317a50252b0b5d5077b6ab2dbef53.tar.gz
yuzu-1bd1a13a02e317a50252b0b5d5077b6ab2dbef53.tar.bz2
yuzu-1bd1a13a02e317a50252b0b5d5077b6ab2dbef53.tar.lz
yuzu-1bd1a13a02e317a50252b0b5d5077b6ab2dbef53.tar.xz
yuzu-1bd1a13a02e317a50252b0b5d5077b6ab2dbef53.tar.zst
yuzu-1bd1a13a02e317a50252b0b5d5077b6ab2dbef53.zip
Diffstat (limited to '')
-rw-r--r--src/common/common_funcs.h21
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>