+#define clib_atomic_test_and_set(a) __atomic_exchange_n(a, 1, __ATOMIC_ACQUIRE)
+#define clib_atomic_release(a) __atomic_store_n(a, 0, __ATOMIC_RELEASE)
+
+#define clib_atomic_fence_rel() __atomic_thread_fence(__ATOMIC_RELEASE);
+
+#define clib_atomic_load_relax_n(a) __atomic_load_n((a), __ATOMIC_RELAXED)
+#define clib_atomic_load_acq_n(a) __atomic_load_n((a), __ATOMIC_ACQUIRE)