ace9bad4df268 (Mark Rutland 2018-09-04 11:48:25 +0100 1) cat <<EOF
765dcd209947e (Marco Elver 2019-11-26 15:04:05 +0100 2) static __always_inline bool
f3e615b4db1fb (Mark Rutland 2021-07-13 11:52:50 +0100 3) arch_${atomic}_try_cmpxchg${order}(${atomic}_t *v, ${int} *old, ${int} new)
ace9bad4df268 (Mark Rutland 2018-09-04 11:48:25 +0100 4) {
ace9bad4df268 (Mark Rutland 2018-09-04 11:48:25 +0100 5) ${int} r, o = *old;
f3e615b4db1fb (Mark Rutland 2021-07-13 11:52:50 +0100 6) r = arch_${atomic}_cmpxchg${order}(v, o, new);
ace9bad4df268 (Mark Rutland 2018-09-04 11:48:25 +0100 7) if (unlikely(r != o))
ace9bad4df268 (Mark Rutland 2018-09-04 11:48:25 +0100 8) *old = r;
ace9bad4df268 (Mark Rutland 2018-09-04 11:48:25 +0100 9) return likely(r == o);
ace9bad4df268 (Mark Rutland 2018-09-04 11:48:25 +0100 10) }
ace9bad4df268 (Mark Rutland 2018-09-04 11:48:25 +0100 11) EOF