|
|
|
@ -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> |
|
|
|
|