cmpxchg (cdd5b5a9761fd66d17586e4f4ba6588c70e640ea) cmpxchg (6dfee110c6cc7a6c3c1f45a07428c15820b87c1d)
1cat <<EOF
2/**
3 * ${class}${atomicname}() - atomic compare and exchange with ${desc_order} ordering
4 * @v: pointer to ${atomic}_t
5 * @old: ${int} value to compare with
6 * @new: ${int} value to assign
7 *
8 * If (@v == @old), atomically updates @v to @new with ${desc_order} ordering.
1cat <<EOF
2/**
3 * ${class}${atomicname}() - atomic compare and exchange with ${desc_order} ordering
4 * @v: pointer to ${atomic}_t
5 * @old: ${int} value to compare with
6 * @new: ${int} value to assign
7 *
8 * If (@v == @old), atomically updates @v to @new with ${desc_order} ordering.
9 * Otherwise, @v is not modified and relaxed ordering is provided.
9 *
10 * ${desc_noinstr}
11 *
12 * Return: The original value of @v.
13 */
14EOF
10 *
11 * ${desc_noinstr}
12 *
13 * Return: The original value of @v.
14 */
15EOF