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