1
2
3
4
5
6
7
8
9
10
11
| cat <<EOF
| static __always_inline bool
| ${arch}${atomic}_try_cmpxchg${order}(${atomic}_t *v, ${int} *old, ${int} new)
| {
| ${int} r, o = *old;
| r = ${arch}${atomic}_cmpxchg${order}(v, o, new);
| if (unlikely(r != o))
| *old = r;
| return likely(r == o);
| }
| EOF
|
|