xref: /openbmc/linux/scripts/atomic/fallbacks/try_cmpxchg (revision f97cee494dc92395a668445bcd24d34c89f4ff8c)
1cat <<EOF
2static __always_inline bool
3${arch}${atomic}_try_cmpxchg${order}(${atomic}_t *v, ${int} *old, ${int} new)
4{
5	${int} r, o = *old;
6	r = ${arch}${atomic}_cmpxchg${order}(v, o, new);
7	if (unlikely(r != o))
8		*old = r;
9	return likely(r == o);
10}
11EOF
12