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