162306a36Sopenharmony_cicat <<EOF 262306a36Sopenharmony_ci ${int} r, o = *old; 362306a36Sopenharmony_ci r = raw_${atomic}_cmpxchg${order}(v, o, new); 462306a36Sopenharmony_ci if (unlikely(r != o)) 562306a36Sopenharmony_ci *old = r; 662306a36Sopenharmony_ci return likely(r == o); 762306a36Sopenharmony_ciEOF 8