1cat <<EOF
2static __always_inline void
3arch_${atomic}_set_release(${atomic}_t *v, ${int} i)
4{
5	if (__native_word(${atomic}_t)) {
6		smp_store_release(&(v)->counter, i);
7	} else {
8		__atomic_release_fence();
9		arch_${atomic}_set(v, i);
10	}
11}
12EOF
13