18c2ecf20Sopenharmony_cicat <<EOF
28c2ecf20Sopenharmony_cistatic __always_inline bool
38c2ecf20Sopenharmony_ci${arch}${atomic}_try_cmpxchg${order}(${atomic}_t *v, ${int} *old, ${int} new)
48c2ecf20Sopenharmony_ci{
58c2ecf20Sopenharmony_ci	${int} r, o = *old;
68c2ecf20Sopenharmony_ci	r = ${arch}${atomic}_cmpxchg${order}(v, o, new);
78c2ecf20Sopenharmony_ci	if (unlikely(r != o))
88c2ecf20Sopenharmony_ci		*old = r;
98c2ecf20Sopenharmony_ci	return likely(r == o);
108c2ecf20Sopenharmony_ci}
118c2ecf20Sopenharmony_ciEOF
12