File tree Expand file tree Collapse file tree 1 file changed +9
-0
lines changed 
opal/include/opal/sys/gcc_builtin Expand file tree Collapse file tree 1 file changed +9
-0
lines changed Original file line number Diff line number Diff line change 1515 *                         reserved. 
1616 * Copyright (c) 2016      Research Organization for Information Science 
1717 *                         and Technology (RIST). All rights reserved. 
18+  * Copyright (c) 2018      Triad National Security, LLC. All rights 
19+  *                         reserved. 
1820 * $COPYRIGHT$ 
1921 * 
2022 * Additional copyrights may follow 
@@ -53,7 +55,14 @@ static inline void opal_atomic_mb(void)
5355
5456static  inline  void  opal_atomic_rmb (void )
5557{
58+ #if  OPAL_ASSEMBLY_ARCH  ==  OPAL_X86_64 
59+     /* work around a bug in older gcc versions where ACQUIRE seems to get 
60+      * treated as a no-op instead of being equivalent to 
61+      * __asm__ __volatile__("": : :"memory") */ 
62+     __atomic_thread_fence  (__ATOMIC_SEQ_CST );
63+ #else 
5664    __atomic_thread_fence  (__ATOMIC_ACQUIRE );
65+ #endif 
5766}
5867
5968static  inline  void  opal_atomic_wmb (void )
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments