diff options
Diffstat (limited to 'libatomic/config/powerpc/host-config.h')
-rw-r--r-- | libatomic/config/powerpc/host-config.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/libatomic/config/powerpc/host-config.h b/libatomic/config/powerpc/host-config.h new file mode 100644 index 00000000000..5447c8393e0 --- /dev/null +++ b/libatomic/config/powerpc/host-config.h @@ -0,0 +1,24 @@ +/* Avoiding the synchronizations are a good thing. */ +#define WANT_SPECIALCASE_RELAXED +#define WANT_SPECIALCASE_ACQREL + +/* Glibc, at least, uses lwsync (aka acq_rel) in its pthread mutex + implementation. If the user is asking for seq_cst (aka hwsync), + this is insufficient. */ + +static inline void __attribute__((always_inline, artificial)) +pre_seq_barrier(int model) +{ + if (model == __ATOMIC_SEQ_CST) + __atomic_thread_fence (__ATOMIC_SEQ_CST); +} + +static inline void __attribute__((always_inline, artificial)) +post_seq_barrier(int model) +{ + pre_seq_barrier(model); +} + +#define pre_post_seq_barrier 1 + +#include_next <host-config.h> |