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