read_acquire (4f2c0a4acffbec01079c28f839422e64ddeff004) read_acquire (9257959a6e5b4fca6fc8e985790bff62c2046f20)
1cat <<EOF
2static __always_inline ${ret}
1cat <<EOF
2static __always_inline ${ret}
3arch_${atomic}_read_acquire(const ${atomic}_t *v)
3raw_${atomic}_read_acquire(const ${atomic}_t *v)
4{
5 ${int} ret;
6
7 if (__native_word(${atomic}_t)) {
8 ret = smp_load_acquire(&(v)->counter);
9 } else {
4{
5 ${int} ret;
6
7 if (__native_word(${atomic}_t)) {
8 ret = smp_load_acquire(&(v)->counter);
9 } else {
10 ret = arch_${atomic}_read(v);
10 ret = raw_${atomic}_read(v);
11 __atomic_acquire_fence();
12 }
13
14 return ret;
15}
16EOF
11 __atomic_acquire_fence();
12 }
13
14 return ret;
15}
16EOF