Add x86 barrier macros
Signed-off-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
parent
0d87f77a3f
commit
430c4af0d6
|
@ -129,7 +129,21 @@ extern unsigned short ldw_brx(volatile unsigned char *, int);
|
|||
|
||||
# ifndef NO_INLINE
|
||||
# ifdef __GNUC__
|
||||
# ifdef __alpha__
|
||||
# ifdef __i386__
|
||||
|
||||
# ifdef __SSE__
|
||||
# define write_mem_barrier() __asm__ __volatile__ ("sfence" : : : "memory")
|
||||
# else
|
||||
# define write_mem_barrier() __asm__ __volatile__ ("lock; addl $0,0(%%esp)" : : : "memory")
|
||||
# endif
|
||||
|
||||
# ifdef __SSE2__
|
||||
# define mem_barrier() __asm__ __volatile__ ("mfence" : : : "memory")
|
||||
# else
|
||||
# define mem_barrier() __asm__ __volatile__ ("lock; addl $0,0(%%esp)" : : : "memory")
|
||||
# endif
|
||||
|
||||
# elif defined __alpha__
|
||||
|
||||
# define mem_barrier() __asm__ __volatile__ ("mb" : : : "memory")
|
||||
# define write_mem_barrier() __asm__ __volatile__ ("wmb" : : : "memory")
|
||||
|
|
Loading…
Reference in New Issue
Block a user