109 |
* Some things that are only architecture dependant |
* Some things that are only architecture dependant |
110 |
****************************************************************************/ |
****************************************************************************/ |
111 |
|
|
112 |
#if defined(ARCH_X86) || defined(ARCH_PPC) || defined(ARCH_MIPS) |
#if defined(ARCH_X86) || defined(ARCH_PPC) || defined(ARCH_MIPS) || defined(ARCH_SPARC) |
113 |
# define CACHE_LINE 16 |
# define CACHE_LINE 16 |
114 |
# define ptr_t uint32_t |
# define ptr_t uint32_t |
115 |
#elif defined(ARCH_IA64) || defined(ARCH_SPARC) |
#elif defined(ARCH_IA64) |
116 |
# define CACHE_LINE 32 |
# define CACHE_LINE 32 |
117 |
# define ptr_t uint64_t |
# define ptr_t uint64_t |
118 |
#else |
#else |
166 |
| msvc x86 specific macros/functions |
| msvc x86 specific macros/functions |
167 |
*---------------------------------------------------------------------------*/ |
*---------------------------------------------------------------------------*/ |
168 |
# if defined(ARCH_X86) |
# if defined(ARCH_X86) |
169 |
# define BSWAP(a) |
# define BSWAP(a) __asm mov eax,a __asm bswap eax __asm mov a, eax |
|
__asm { \ |
|
|
mov eax,a \ |
|
|
bswap eax \ |
|
|
mov a, eax \ |
|
|
} |
|
170 |
# define EMMS() __asm {emms} |
# define EMMS() __asm {emms} |
171 |
|
|
172 |
static __inline int64_t read_counter(void) |
static __inline int64_t read_counter(void) |