162306a36Sopenharmony_cicat <<EOF
262306a36Sopenharmony_ci/**
362306a36Sopenharmony_ci * ${class}${atomicname}() - atomic compare and exchange with ${desc_order} ordering
462306a36Sopenharmony_ci * @v: pointer to ${atomic}_t
562306a36Sopenharmony_ci * @old: pointer to ${int} value to compare with
662306a36Sopenharmony_ci * @new: ${int} value to assign
762306a36Sopenharmony_ci *
862306a36Sopenharmony_ci * If (@v == @old), atomically updates @v to @new with ${desc_order} ordering.
962306a36Sopenharmony_ci * Otherwise, updates @old to the current value of @v.
1062306a36Sopenharmony_ci *
1162306a36Sopenharmony_ci * ${desc_noinstr}
1262306a36Sopenharmony_ci *
1362306a36Sopenharmony_ci * Return: @true if the exchange occured, @false otherwise.
1462306a36Sopenharmony_ci */
1562306a36Sopenharmony_ciEOF
16