1ace9bad4SMark Rutlandcat <<EOF
2765dcd20SMarco Elverstatic __always_inline bool
3*9257959aSMark Rutlandraw_${atomic}_try_cmpxchg${order}(${atomic}_t *v, ${int} *old, ${int} new)
4ace9bad4SMark Rutland{
5ace9bad4SMark Rutland	${int} r, o = *old;
6*9257959aSMark Rutland	r = raw_${atomic}_cmpxchg${order}(v, o, new);
7ace9bad4SMark Rutland	if (unlikely(r != o))
8ace9bad4SMark Rutland		*old = r;
9ace9bad4SMark Rutland	return likely(r == o);
10ace9bad4SMark Rutland}
11ace9bad4SMark RutlandEOF
12