| /* 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> |