cat <<EOF if (__native_word(${atomic}_t)) { smp_store_release(&(v)->counter, i); } else { __atomic_release_fence(); raw_${atomic}_set(v, i); } EOF