File tree Expand file tree Collapse file tree 1 file changed +9
-0
lines changed 
opal/mca/pmix/pmix2x/pmix/src/atomics/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 1616 * Copyright (c) 2016-2017 Research Organization for Information Science 
1717 *                         and Technology (RIST). All rights reserved. 
1818 * Copyright (c) 2018      Intel, Inc. All rights reserved. 
19+  * Copyright (c) 2018      Triad National Security, LLC. All rights 
20+  *                         reserved. 
1921 * $COPYRIGHT$ 
2022 * 
2123 * Additional copyrights may follow 
@@ -58,7 +60,14 @@ static inline void pmix_atomic_mb(void)
5860
5961static  inline  void  pmix_atomic_rmb (void )
6062{
63+ #if  OPAL_ASSEMBLY_ARCH  ==  OPAL_X86_64 
64+     /* work around a bug in older gcc versions where ACQUIRE seems to get 
65+      * treated as a no-op instead of being equivalent to 
66+      * __asm__ __volatile__("": : :"memory") */ 
67+     __atomic_thread_fence  (__ATOMIC_SEQ_CST );
68+ #else 
6169    __atomic_thread_fence  (__ATOMIC_ACQUIRE );
70+ #endif 
6271}
6372
6473static  inline  void  pmix_atomic_wmb (void )
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments