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 | # ifndef NO_INLINE | ||||||
| #  ifdef __GNUC__ | #  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 mem_barrier() __asm__ __volatile__ ("mb" : : : "memory") | ||||||
| #    define write_mem_barrier() __asm__ __volatile__ ("wmb" : : : "memory") | #    define write_mem_barrier() __asm__ __volatile__ ("wmb" : : : "memory") | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue