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-2017 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
@@ -57,7 +59,14 @@ static inline void opal_atomic_mb(void)
5759
5860static inline void opal_atomic_rmb (void )
5961{
62+ #if OPAL_ASSEMBLY_ARCH == OPAL_X86_64
63+ /* work around a bug in older gcc versions where ACQUIRE seems to get
64+ * treated as a no-op instead of being equivalent to
65+ * __asm__ __volatile__("": : :"memory") */
66+ __atomic_thread_fence (__ATOMIC_SEQ_CST );
67+ #else
6068 __atomic_thread_fence (__ATOMIC_ACQUIRE );
69+ #endif
6170}
6271
6372static inline void opal_atomic_wmb (void )
You can’t perform that action at this time.
0 commit comments