vsync / atomic / core_u32.h
Atomic functions for vatomic32_t variables.
This file declares and documents the core atomic functions operating on vatomic32_t variables.
Please do not include this file directly, instead use:
#include <vsync/atomic/core.h>
Functions
| Function | Description |
|---|---|
| vatomic32_init | Initializes the atomic variable a with value v. |
| vatomic32_read | Returns the value of the atomic variable pointed by a. |
| vatomic32_read_acq | Returns the value of the atomic variable pointed by a. |
| vatomic32_read_rlx | Returns the value of the atomic variable pointed by a. |
| vatomic32_write | Writes value v in the atomic variable pointed by a. |
| vatomic32_write_rel | Writes value v in the atomic variable pointed by a. |
| vatomic32_write_rlx | Writes value v in the atomic variable pointed by a. |
| vatomic32_xchg | Writes v in a and returns old value. |
| vatomic32_xchg_acq | Writes v in a and returns old value. |
| vatomic32_xchg_rel | Writes v in a and returns old value. |
| vatomic32_xchg_rlx | Writes v in a and returns old value. |
| vatomic32_cmpxchg | Writes value v in a if e is the current value. |
| vatomic32_cmpxchg_acq | Writes value v in a if e is the current value. |
| vatomic32_cmpxchg_rel | Writes value v in a if e is the current value. |
| vatomic32_cmpxchg_rlx | Writes value v in a if e is the current value. |
| vatomic32_get_max | Writes v to a if v is greater than *a and returns the old value. |
| vatomic32_get_max_acq | Writes v to a if v is greater than *a and returns the old value. |
| vatomic32_get_max_rel | Writes v to a if v is greater than *a and returns the old value. |
| vatomic32_get_max_rlx | Writes v to a if v is greater than *a and returns the old value. |
| vatomic32_max_get | Writes v to a if v is greater than *a and returns the new value. |
| vatomic32_max_get_acq | Writes v to a if v is greater than *a and returns the new value. |
| vatomic32_max_get_rel | Writes v to a if v is greater than *a and returns the new value. |
| vatomic32_max_get_rlx | Writes v to a if v is greater than *a and returns the new value. |
| vatomic32_max | Writes v to a if v is greater than *a. |
| vatomic32_max_rel | Writes v to a if v is greater than *a. |
| vatomic32_max_rlx | Writes v to a if v is greater than *a. |
| vatomic32_get_and | Applies bitwise and to the value of a and returns the old value. |
| vatomic32_get_and_acq | Applies bitwise and to the value of a and returns the old value. |
| vatomic32_get_and_rel | Applies bitwise and to the value of a and returns the old value. |
| vatomic32_get_and_rlx | Applies bitwise and to the value of a and returns the old value. |
| vatomic32_and_get | Applies bitwise and operation with v to the value of a and returns the new value. |
| vatomic32_and_get_acq | Applies bitwise and operation with v to the value of a and returns the new value. |
| vatomic32_and_get_rel | Applies bitwise and operation with v to the value of a and returns the new value. |
| vatomic32_and_get_rlx | Applies bitwise and operation with v to the value of a and returns the new value. |
| vatomic32_and | Applies bitwise and operation with v to the value of a. |
| vatomic32_and_rel | Applies bitwise and operation with v to the value of a. |
| vatomic32_and_rlx | Applies bitwise and operation with v to the value of a. |
| vatomic32_get_or | Applies bitwise or operation with v to the value of a and returns the old value. |
| vatomic32_get_or_acq | Applies bitwise or operation with v to the value of a and returns the old value. |
| vatomic32_get_or_rel | Applies bitwise or operation with v to the value of a and returns the old value. |
| vatomic32_get_or_rlx | Applies bitwise or operation with v to the value of a and returns the old value. |
| vatomic32_or_get | Applies bitwise or operation with v to the value of a and returns the new value. |
| vatomic32_or_get_acq | Applies bitwise or operation with v to the value of a and returns the new value. |
| vatomic32_or_get_rel | Applies bitwise or operation with v to the value of a and returns the new value. |
| vatomic32_or_get_rlx | Applies bitwise or operation with v to the value of a and returns the new value. |
| vatomic32_or | Applies bitwise or operation with v to the value of a. |
| vatomic32_or_rel | Applies bitwise or operation with v to the value of a. |
| vatomic32_or_rlx | Applies bitwise or operation with v to the value of a. |
| vatomic32_get_xor | Applies bitwise xor operation with v to the value of a and returns the old value. |
| vatomic32_get_xor_acq | Applies bitwise xor operation with v to the value of a and returns the old value. |
| vatomic32_get_xor_rel | Applies bitwise xor operation with v to the value of a and returns the old value. |
| vatomic32_get_xor_rlx | Applies bitwise xor operation with v to the value of a and returns the old value. |
| vatomic32_xor_get | Applies bitwise xor operation with v to the value of a and returns the new value. |
| vatomic32_xor_get_acq | Applies bitwise xor operation with v to the value of a and returns the new value. |
| vatomic32_xor_get_rel | Applies bitwise xor operation with v to the value of a and returns the new value. |
| vatomic32_xor_get_rlx | Applies bitwise xor operation with v to the value of a and returns the new value. |
| vatomic32_xor | Applies bitwise xor opeation with v to the value of a. |
| vatomic32_xor_rel | Applies bitwise xor opeation with v to the value of a. |
| vatomic32_xor_rlx | Applies bitwise xor opeation with v to the value of a. |
| vatomic32_get_add | Adds v to the value of a and returns the old value. |
| vatomic32_get_add_acq | Adds v to the value of a and returns the old value. |
| vatomic32_get_add_rel | Adds v to the value of a and returns the old value. |
| vatomic32_get_add_rlx | Adds v to the value of a and returns the old value. |
| vatomic32_add_get | Adds v to the value of a and returns the new value. |
| vatomic32_add_get_acq | Adds v to the value of a and returns the new value. |
| vatomic32_add_get_rel | Adds v to the value of a and returns the new value. |
| vatomic32_add_get_rlx | Adds v to the value of a and returns the new value. |
| vatomic32_add | Adds v to the value of a. |
| vatomic32_add_rel | Adds v to the value of a. |
| vatomic32_add_rlx | Adds v to the value of a. |
| vatomic32_get_inc | Increments the value of a and returns the old value. |
| vatomic32_get_inc_acq | Increments the value of a and returns the old value. |
| vatomic32_get_inc_rel | Increments the value of a and returns the old value. |
| vatomic32_get_inc_rlx | Increments the value of a and returns the old value. |
| vatomic32_inc_get | Increments the value of a and returns the new value. |
| vatomic32_inc_get_acq | Increments the value of a and returns the new value. |
| vatomic32_inc_get_rel | Increments the value of a and returns the new value. |
| vatomic32_inc_get_rlx | Increments the value of a and returns the new value. |
| vatomic32_inc | Increments the value of a. |
| vatomic32_inc_rel | Increments the value of a. |
| vatomic32_inc_rlx | Increments the value of a. |
| vatomic32_get_sub | Subtracts v from a and returns the old value. |
| vatomic32_get_sub_acq | Subtracts v from a and returns the old value. |
| vatomic32_get_sub_rel | Subtracts v from a and returns the old value. |
| vatomic32_get_sub_rlx | Subtracts v from a and returns the old value. |
| vatomic32_sub_get | Subtracts v from a and returns the new value. |
| vatomic32_sub_get_acq | Subtracts v from a and returns the new value. |
| vatomic32_sub_get_rel | Subtracts v from a and returns the new value. |
| vatomic32_sub_get_rlx | Subtracts v from a and returns the new value. |
| vatomic32_sub | Subtracts v from a. |
| vatomic32_sub_rel | Subtracts v from a. |
| vatomic32_sub_rlx | Subtracts v from a. |
| vatomic32_get_dec | Decrements the value of a and returns the old value. |
| vatomic32_get_dec_acq | Decrements the value of a and returns the old value. |
| vatomic32_get_dec_rel | Decrements the value of a and returns the old value. |
| vatomic32_get_dec_rlx | Decrements the value of a and returns the old value. |
| vatomic32_dec_get | Decrements the value of a and returns the new value. |
| vatomic32_dec_get_acq | Decrements the value of a and returns the new value. |
| vatomic32_dec_get_rel | Decrements the value of a and returns the new value. |
| vatomic32_dec_get_rlx | Decrements the value of a and returns the new value. |
| vatomic32_dec | Decrements the value of a. |
| vatomic32_dec_rel | Decrements the value of a. |
| vatomic32_dec_rlx | Decrements the value of a. |
Function vatomic32_init
static void vatomic32_init(vatomic32_t *a, vuint32_t v)
Initializes the atomic variable a with value v.
The initialization is equivalent to an vatomic32_write().
Parameters:
a: atomic variablev: initial value
Memory ordering: seq_cst
Function vatomic32_read
static vuint32_t vatomic32_read(const vatomic32_t *a)
Returns the value of the atomic variable pointed by a.
Parameters:
a: atomic variable
Returns: current value
Memory ordering: seq_cst
Function vatomic32_read_acq
static vuint32_t vatomic32_read_acq(const vatomic32_t *a)
Returns the value of the atomic variable pointed by a.
Parameters:
a: atomic variable
Returns: current value
Memory ordering: acquire
Function vatomic32_read_rlx
static vuint32_t vatomic32_read_rlx(const vatomic32_t *a)
Returns the value of the atomic variable pointed by a.
Parameters:
a: atomic variable
Returns: current value
Memory ordering: relaxed
Function vatomic32_write
static void vatomic32_write(vatomic32_t *a, vuint32_t v)
Writes value v in the atomic variable pointed by a.
Parameters:
a: atomic variablev: new value
Memory ordering: seq_cst
Function vatomic32_write_rel
static void vatomic32_write_rel(vatomic32_t *a, vuint32_t v)
Writes value v in the atomic variable pointed by a.
Parameters:
a: atomic variablev: new value
Memory ordering: release
Function vatomic32_write_rlx
static void vatomic32_write_rlx(vatomic32_t *a, vuint32_t v)
Writes value v in the atomic variable pointed by a.
Parameters:
a: atomic variablev: new value
Memory ordering: relaxed
Function vatomic32_xchg
static vuint32_t vatomic32_xchg(vatomic32_t *a, vuint32_t v)
Writes v in a and returns old value.
Parameters:
a: atomic variablev: new value
Returns: old value
Memory ordering: seq_cst
Function vatomic32_xchg_acq
static vuint32_t vatomic32_xchg_acq(vatomic32_t *a, vuint32_t v)
Writes v in a and returns old value.
Parameters:
a: atomic variablev: new value
Returns: old value
Memory ordering: acquire
Function vatomic32_xchg_rel
static vuint32_t vatomic32_xchg_rel(vatomic32_t *a, vuint32_t v)
Writes v in a and returns old value.
Parameters:
a: atomic variablev: new value
Returns: old value
Memory ordering: release
Function vatomic32_xchg_rlx
static vuint32_t vatomic32_xchg_rlx(vatomic32_t *a, vuint32_t v)
Writes v in a and returns old value.
Parameters:
a: atomic variablev: new value
Returns: old value
Memory ordering: relaxed
Function vatomic32_cmpxchg
static vuint32_t vatomic32_cmpxchg(vatomic32_t *a, vuint32_t e, vuint32_t v)
Writes value v in a if e is the current value.
Parameters:
a: atomic variablee: expected valuev: new value
Returns: old value
Function vatomic32_cmpxchg_acq
static vuint32_t vatomic32_cmpxchg_acq(vatomic32_t *a, vuint32_t e, vuint32_t v)
Writes value v in a if e is the current value.
Parameters:
a: atomic variablee: expected valuev: new value
Returns: old value
Function vatomic32_cmpxchg_rel
static vuint32_t vatomic32_cmpxchg_rel(vatomic32_t *a, vuint32_t e, vuint32_t v)
Writes value v in a if e is the current value.
Parameters:
a: atomic variablee: expected valuev: new value
Returns: old value
Function vatomic32_cmpxchg_rlx
static vuint32_t vatomic32_cmpxchg_rlx(vatomic32_t *a, vuint32_t e, vuint32_t v)
Writes value v in a if e is the current value.
Parameters:
a: atomic variablee: expected valuev: new value
Returns: old value
Function vatomic32_get_max
static vuint32_t vatomic32_get_max(vatomic32_t *a, vuint32_t v)
Writes v to a if v is greater than *a and returns the old value.
Parameters:
a: atomic variablev: potential max value
Returns: old max value
Memory ordering: seq_cst
Function vatomic32_get_max_acq
static vuint32_t vatomic32_get_max_acq(vatomic32_t *a, vuint32_t v)
Writes v to a if v is greater than *a and returns the old value.
Parameters:
a: atomic variablev: potential max value
Returns: old max value
Memory ordering: acquire
Function vatomic32_get_max_rel
static vuint32_t vatomic32_get_max_rel(vatomic32_t *a, vuint32_t v)
Writes v to a if v is greater than *a and returns the old value.
Parameters:
a: atomic variablev: potential max value
Returns: old max value
Memory ordering: release
Function vatomic32_get_max_rlx
static vuint32_t vatomic32_get_max_rlx(vatomic32_t *a, vuint32_t v)
Writes v to a if v is greater than *a and returns the old value.
Parameters:
a: atomic variablev: potential max value
Returns: old max value
Memory ordering: relaxed
Function vatomic32_max_get
static vuint32_t vatomic32_max_get(vatomic32_t *a, vuint32_t v)
Writes v to a if v is greater than *a and returns the new value.
Parameters:
a: atomic variablev: potential max value
Returns: new max value
Memory ordering: seq_cst
Function vatomic32_max_get_acq
static vuint32_t vatomic32_max_get_acq(vatomic32_t *a, vuint32_t v)
Writes v to a if v is greater than *a and returns the new value.
Parameters:
a: atomic variablev: potential max value
Returns: new max value
Memory ordering: acquire
Function vatomic32_max_get_rel
static vuint32_t vatomic32_max_get_rel(vatomic32_t *a, vuint32_t v)
Writes v to a if v is greater than *a and returns the new value.
Parameters:
a: atomic variablev: potential max value
Returns: new max value
Memory ordering: release
Function vatomic32_max_get_rlx
static vuint32_t vatomic32_max_get_rlx(vatomic32_t *a, vuint32_t v)
Writes v to a if v is greater than *a and returns the new value.
Parameters:
a: atomic variablev: potential max value
Returns: new max value
Memory ordering: relaxed
Function vatomic32_max
static void vatomic32_max(vatomic32_t *a, vuint32_t v)
Writes v to a if v is greater than *a.
Parameters:
a: atomic variablev: potential max value
Memory ordering: seq_cst
Function vatomic32_max_rel
static void vatomic32_max_rel(vatomic32_t *a, vuint32_t v)
Writes v to a if v is greater than *a.
Parameters:
a: atomic variablev: potential max value
Memory ordering: release
Function vatomic32_max_rlx
static void vatomic32_max_rlx(vatomic32_t *a, vuint32_t v)
Writes v to a if v is greater than *a.
Parameters:
a: atomic variablev: potential max value
Memory ordering: relaxed
Function vatomic32_get_and
static vuint32_t vatomic32_get_and(vatomic32_t *a, vuint32_t v)
Applies bitwise and to the value of a and returns the old value.
Parameters:
a: atomic variablev: mask value
Returns: old value
Memory ordering: seq_cst
Function vatomic32_get_and_acq
static vuint32_t vatomic32_get_and_acq(vatomic32_t *a, vuint32_t v)
Applies bitwise and to the value of a and returns the old value.
Parameters:
a: atomic variablev: mask value
Returns: old value
Memory ordering: acquire
Function vatomic32_get_and_rel
static vuint32_t vatomic32_get_and_rel(vatomic32_t *a, vuint32_t v)
Applies bitwise and to the value of a and returns the old value.
Parameters:
a: atomic variablev: mask value
Returns: old value
Memory ordering: release
Function vatomic32_get_and_rlx
static vuint32_t vatomic32_get_and_rlx(vatomic32_t *a, vuint32_t v)
Applies bitwise and to the value of a and returns the old value.
Parameters:
a: atomic variablev: mask value
Returns: old value
Memory ordering: relaxed
Function vatomic32_and_get
static vuint32_t vatomic32_and_get(vatomic32_t *a, vuint32_t v)
Applies bitwise and operation with v to the value of a and returns the new value.
Parameters:
a: atomic variablev: mask value
Returns: new value
Memory ordering: seq_cst
Function vatomic32_and_get_acq
static vuint32_t vatomic32_and_get_acq(vatomic32_t *a, vuint32_t v)
Applies bitwise and operation with v to the value of a and returns the new value.
Parameters:
a: atomic variablev: mask value
Returns: new value
Memory ordering: acquire
Function vatomic32_and_get_rel
static vuint32_t vatomic32_and_get_rel(vatomic32_t *a, vuint32_t v)
Applies bitwise and operation with v to the value of a and returns the new value.
Parameters:
a: atomic variablev: mask value
Returns: new value
Memory ordering: release
Function vatomic32_and_get_rlx
static vuint32_t vatomic32_and_get_rlx(vatomic32_t *a, vuint32_t v)
Applies bitwise and operation with v to the value of a and returns the new value.
Parameters:
a: atomic variablev: mask value
Returns: new value
Memory ordering: relaxed
Function vatomic32_and
static void vatomic32_and(vatomic32_t *a, vuint32_t v)
Applies bitwise and operation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: seq_cst
Function vatomic32_and_rel
static void vatomic32_and_rel(vatomic32_t *a, vuint32_t v)
Applies bitwise and operation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: release
Function vatomic32_and_rlx
static void vatomic32_and_rlx(vatomic32_t *a, vuint32_t v)
Applies bitwise and operation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: relaxed
Function vatomic32_get_or
static vuint32_t vatomic32_get_or(vatomic32_t *a, vuint32_t v)
Applies bitwise or operation with v to the value of a and returns the old value.
Parameters:
a: atomic variablev: mask value
Returns: old value
Memory ordering: seq_cst
Function vatomic32_get_or_acq
static vuint32_t vatomic32_get_or_acq(vatomic32_t *a, vuint32_t v)
Applies bitwise or operation with v to the value of a and returns the old value.
Parameters:
a: atomic variablev: mask value
Returns: old value
Memory ordering: acquire
Function vatomic32_get_or_rel
static vuint32_t vatomic32_get_or_rel(vatomic32_t *a, vuint32_t v)
Applies bitwise or operation with v to the value of a and returns the old value.
Parameters:
a: atomic variablev: mask value
Returns: old value
Memory ordering: release
Function vatomic32_get_or_rlx
static vuint32_t vatomic32_get_or_rlx(vatomic32_t *a, vuint32_t v)
Applies bitwise or operation with v to the value of a and returns the old value.
Parameters:
a: atomic variablev: mask value
Returns: old value
Memory ordering: relaxed
Function vatomic32_or_get
static vuint32_t vatomic32_or_get(vatomic32_t *a, vuint32_t v)
Applies bitwise or operation with v to the value of a and returns the new value.
Parameters:
a: atomic variablev: mask value
Returns: new value
Memory ordering: seq_cst
Function vatomic32_or_get_acq
static vuint32_t vatomic32_or_get_acq(vatomic32_t *a, vuint32_t v)
Applies bitwise or operation with v to the value of a and returns the new value.
Parameters:
a: atomic variablev: mask value
Returns: new value
Memory ordering: acquire
Function vatomic32_or_get_rel
static vuint32_t vatomic32_or_get_rel(vatomic32_t *a, vuint32_t v)
Applies bitwise or operation with v to the value of a and returns the new value.
Parameters:
a: atomic variablev: mask value
Returns: new value
Memory ordering: release
Function vatomic32_or_get_rlx
static vuint32_t vatomic32_or_get_rlx(vatomic32_t *a, vuint32_t v)
Applies bitwise or operation with v to the value of a and returns the new value.
Parameters:
a: atomic variablev: mask value
Returns: new value
Memory ordering: relaxed
Function vatomic32_or
static void vatomic32_or(vatomic32_t *a, vuint32_t v)
Applies bitwise or operation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: seq_cst
Function vatomic32_or_rel
static void vatomic32_or_rel(vatomic32_t *a, vuint32_t v)
Applies bitwise or operation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: release
Function vatomic32_or_rlx
static void vatomic32_or_rlx(vatomic32_t *a, vuint32_t v)
Applies bitwise or operation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: relaxed
Function vatomic32_get_xor
static vuint32_t vatomic32_get_xor(vatomic32_t *a, vuint32_t v)
Applies bitwise xor operation with v to the value of a and returns the old value.
Parameters:
a: atomic variablev: mask value
Returns: old value
Memory ordering: seq_cst
Function vatomic32_get_xor_acq
static vuint32_t vatomic32_get_xor_acq(vatomic32_t *a, vuint32_t v)
Applies bitwise xor operation with v to the value of a and returns the old value.
Parameters:
a: atomic variablev: mask value
Returns: old value
Memory ordering: acquire
Function vatomic32_get_xor_rel
static vuint32_t vatomic32_get_xor_rel(vatomic32_t *a, vuint32_t v)
Applies bitwise xor operation with v to the value of a and returns the old value.
Parameters:
a: atomic variablev: mask value
Returns: old value
Memory ordering: release
Function vatomic32_get_xor_rlx
static vuint32_t vatomic32_get_xor_rlx(vatomic32_t *a, vuint32_t v)
Applies bitwise xor operation with v to the value of a and returns the old value.
Parameters:
a: atomic variablev: mask value
Returns: old value
Memory ordering: relaxed
Function vatomic32_xor_get
static vuint32_t vatomic32_xor_get(vatomic32_t *a, vuint32_t v)
Applies bitwise xor operation with v to the value of a and returns the new value.
Parameters:
a: atomic variablev: mask value
Returns: new value
Memory ordering: seq_cst
Function vatomic32_xor_get_acq
static vuint32_t vatomic32_xor_get_acq(vatomic32_t *a, vuint32_t v)
Applies bitwise xor operation with v to the value of a and returns the new value.
Parameters:
a: atomic variablev: mask value
Returns: new value
Memory ordering: acquire
Function vatomic32_xor_get_rel
static vuint32_t vatomic32_xor_get_rel(vatomic32_t *a, vuint32_t v)
Applies bitwise xor operation with v to the value of a and returns the new value.
Parameters:
a: atomic variablev: mask value
Returns: new value
Memory ordering: release
Function vatomic32_xor_get_rlx
static vuint32_t vatomic32_xor_get_rlx(vatomic32_t *a, vuint32_t v)
Applies bitwise xor operation with v to the value of a and returns the new value.
Parameters:
a: atomic variablev: mask value
Returns: new value
Memory ordering: relaxed
Function vatomic32_xor
static void vatomic32_xor(vatomic32_t *a, vuint32_t v)
Applies bitwise xor opeation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: seq_cst
Function vatomic32_xor_rel
static void vatomic32_xor_rel(vatomic32_t *a, vuint32_t v)
Applies bitwise xor opeation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: release
Function vatomic32_xor_rlx
static void vatomic32_xor_rlx(vatomic32_t *a, vuint32_t v)
Applies bitwise xor opeation with v to the value of a.
Parameters:
a: atomic variablev: mask value
Memory ordering: relaxed
Function vatomic32_get_add
static vuint32_t vatomic32_get_add(vatomic32_t *a, vuint32_t v)
Adds v to the value of a and returns the old value.
Parameters:
a: atomic variablev: addend value
Returns: old value
Memory ordering: seq_cst
Function vatomic32_get_add_acq
static vuint32_t vatomic32_get_add_acq(vatomic32_t *a, vuint32_t v)
Adds v to the value of a and returns the old value.
Parameters:
a: atomic variablev: addend value
Returns: old value
Memory ordering: acquire
Function vatomic32_get_add_rel
static vuint32_t vatomic32_get_add_rel(vatomic32_t *a, vuint32_t v)
Adds v to the value of a and returns the old value.
Parameters:
a: atomic variablev: addend value
Returns: old value
Memory ordering: release
Function vatomic32_get_add_rlx
static vuint32_t vatomic32_get_add_rlx(vatomic32_t *a, vuint32_t v)
Adds v to the value of a and returns the old value.
Parameters:
a: atomic variablev: addend value
Returns: old value
Memory ordering: relaxed
Function vatomic32_add_get
static vuint32_t vatomic32_add_get(vatomic32_t *a, vuint32_t v)
Adds v to the value of a and returns the new value.
Parameters:
a: atomic variablev: addend value
Returns: new value
Memory ordering: seq_cst
Function vatomic32_add_get_acq
static vuint32_t vatomic32_add_get_acq(vatomic32_t *a, vuint32_t v)
Adds v to the value of a and returns the new value.
Parameters:
a: atomic variablev: addend value
Returns: new value
Memory ordering: acquire
Function vatomic32_add_get_rel
static vuint32_t vatomic32_add_get_rel(vatomic32_t *a, vuint32_t v)
Adds v to the value of a and returns the new value.
Parameters:
a: atomic variablev: addend value
Returns: new value
Memory ordering: release
Function vatomic32_add_get_rlx
static vuint32_t vatomic32_add_get_rlx(vatomic32_t *a, vuint32_t v)
Adds v to the value of a and returns the new value.
Parameters:
a: atomic variablev: addend value
Returns: new value
Memory ordering: relaxed
Function vatomic32_add
static void vatomic32_add(vatomic32_t *a, vuint32_t v)
Adds v to the value of a.
Parameters:
a: atomic variablev: addend value
Memory ordering: seq_cst
Function vatomic32_add_rel
static void vatomic32_add_rel(vatomic32_t *a, vuint32_t v)
Adds v to the value of a.
Parameters:
a: atomic variablev: addend value
Memory ordering: release
Function vatomic32_add_rlx
static void vatomic32_add_rlx(vatomic32_t *a, vuint32_t v)
Adds v to the value of a.
Parameters:
a: atomic variablev: addend value
Memory ordering: relaxed
Function vatomic32_get_inc
static vuint32_t vatomic32_get_inc(vatomic32_t *a)
Increments the value of a and returns the old value.
Parameters:
a: atomic variable
Returns: old value
Memory ordering: seq_cst
Function vatomic32_get_inc_acq
static vuint32_t vatomic32_get_inc_acq(vatomic32_t *a)
Increments the value of a and returns the old value.
Parameters:
a: atomic variable
Returns: old value
Memory ordering: acquire
Function vatomic32_get_inc_rel
static vuint32_t vatomic32_get_inc_rel(vatomic32_t *a)
Increments the value of a and returns the old value.
Parameters:
a: atomic variable
Returns: old value
Memory ordering: release
Function vatomic32_get_inc_rlx
static vuint32_t vatomic32_get_inc_rlx(vatomic32_t *a)
Increments the value of a and returns the old value.
Parameters:
a: atomic variable
Returns: old value
Memory ordering: relaxed
Function vatomic32_inc_get
static vuint32_t vatomic32_inc_get(vatomic32_t *a)
Increments the value of a and returns the new value.
Parameters:
a: atomic variable
Returns: new value
Memory ordering: seq_cst
Function vatomic32_inc_get_acq
static vuint32_t vatomic32_inc_get_acq(vatomic32_t *a)
Increments the value of a and returns the new value.
Parameters:
a: atomic variable
Returns: new value
Memory ordering: acquire
Function vatomic32_inc_get_rel
static vuint32_t vatomic32_inc_get_rel(vatomic32_t *a)
Increments the value of a and returns the new value.
Parameters:
a: atomic variable
Returns: new value
Memory ordering: release
Function vatomic32_inc_get_rlx
static vuint32_t vatomic32_inc_get_rlx(vatomic32_t *a)
Increments the value of a and returns the new value.
Parameters:
a: atomic variable
Returns: new value
Memory ordering: relaxed
Function vatomic32_inc
static void vatomic32_inc(vatomic32_t *a)
Increments the value of a.
Parameters:
a: atomic variable
Memory ordering: seq_cst
Function vatomic32_inc_rel
static void vatomic32_inc_rel(vatomic32_t *a)
Increments the value of a.
Parameters:
a: atomic variable
Memory ordering: release
Function vatomic32_inc_rlx
static void vatomic32_inc_rlx(vatomic32_t *a)
Increments the value of a.
Parameters:
a: atomic variable
Memory ordering: relaxed
Function vatomic32_get_sub
static vuint32_t vatomic32_get_sub(vatomic32_t *a, vuint32_t v)
Subtracts v from a and returns the old value.
Parameters:
a: atomic variablev: subtrahend value
Returns: old value
Memory ordering: seq_cst
Function vatomic32_get_sub_acq
static vuint32_t vatomic32_get_sub_acq(vatomic32_t *a, vuint32_t v)
Subtracts v from a and returns the old value.
Parameters:
a: atomic variablev: subtrahend value
Returns: old value
Memory ordering: acquire
Function vatomic32_get_sub_rel
static vuint32_t vatomic32_get_sub_rel(vatomic32_t *a, vuint32_t v)
Subtracts v from a and returns the old value.
Parameters:
a: atomic variablev: subtrahend value
Returns: old value
Memory ordering: release
Function vatomic32_get_sub_rlx
static vuint32_t vatomic32_get_sub_rlx(vatomic32_t *a, vuint32_t v)
Subtracts v from a and returns the old value.
Parameters:
a: atomic variablev: subtrahend value
Returns: old value
Memory ordering: relaxed
Function vatomic32_sub_get
static vuint32_t vatomic32_sub_get(vatomic32_t *a, vuint32_t v)
Subtracts v from a and returns the new value.
Parameters:
a: atomic variablev: subtrahend value
Returns: new value
Memory ordering: seq_cst
Function vatomic32_sub_get_acq
static vuint32_t vatomic32_sub_get_acq(vatomic32_t *a, vuint32_t v)
Subtracts v from a and returns the new value.
Parameters:
a: atomic variablev: subtrahend value
Returns: new value
Memory ordering: acquire
Function vatomic32_sub_get_rel
static vuint32_t vatomic32_sub_get_rel(vatomic32_t *a, vuint32_t v)
Subtracts v from a and returns the new value.
Parameters:
a: atomic variablev: subtrahend value
Returns: new value
Memory ordering: release
Function vatomic32_sub_get_rlx
static vuint32_t vatomic32_sub_get_rlx(vatomic32_t *a, vuint32_t v)
Subtracts v from a and returns the new value.
Parameters:
a: atomic variablev: subtrahend value
Returns: new value
Memory ordering: relaxed
Function vatomic32_sub
static void vatomic32_sub(vatomic32_t *a, vuint32_t v)
Subtracts v from a.
Parameters:
a: atomic variablev: subtrahend value
Memory ordering: seq_cst
Function vatomic32_sub_rel
static void vatomic32_sub_rel(vatomic32_t *a, vuint32_t v)
Subtracts v from a.
Parameters:
a: atomic variablev: subtrahend value
Memory ordering: release
Function vatomic32_sub_rlx
static void vatomic32_sub_rlx(vatomic32_t *a, vuint32_t v)
Subtracts v from a.
Parameters:
a: atomic variablev: subtrahend value
Memory ordering: relaxed
Function vatomic32_get_dec
static vuint32_t vatomic32_get_dec(vatomic32_t *a)
Decrements the value of a and returns the old value.
Parameters:
a: atomic variable
Returns: old value
Memory ordering: seq_cst
Function vatomic32_get_dec_acq
static vuint32_t vatomic32_get_dec_acq(vatomic32_t *a)
Decrements the value of a and returns the old value.
Parameters:
a: atomic variable
Returns: old value
Memory ordering: acquire
Function vatomic32_get_dec_rel
static vuint32_t vatomic32_get_dec_rel(vatomic32_t *a)
Decrements the value of a and returns the old value.
Parameters:
a: atomic variable
Returns: old value
Memory ordering: release
Function vatomic32_get_dec_rlx
static vuint32_t vatomic32_get_dec_rlx(vatomic32_t *a)
Decrements the value of a and returns the old value.
Parameters:
a: atomic variable
Returns: old value
Memory ordering: relaxed
Function vatomic32_dec_get
static vuint32_t vatomic32_dec_get(vatomic32_t *a)
Decrements the value of a and returns the new value.
Parameters:
a: atomic variable
Returns: new value
Memory ordering: seq_cst
Function vatomic32_dec_get_acq
static vuint32_t vatomic32_dec_get_acq(vatomic32_t *a)
Decrements the value of a and returns the new value.
Parameters:
a: atomic variable
Returns: new value
Memory ordering: acquire
Function vatomic32_dec_get_rel
static vuint32_t vatomic32_dec_get_rel(vatomic32_t *a)
Decrements the value of a and returns the new value.
Parameters:
a: atomic variable
Returns: new value
Memory ordering: release
Function vatomic32_dec_get_rlx
static vuint32_t vatomic32_dec_get_rlx(vatomic32_t *a)
Decrements the value of a and returns the new value.
Parameters:
a: atomic variable
Returns: new value
Memory ordering: relaxed
Function vatomic32_dec
static void vatomic32_dec(vatomic32_t *a)
Decrements the value of a.
Parameters:
a: atomic variable
Memory ordering: seq_cst
Function vatomic32_dec_rel
static void vatomic32_dec_rel(vatomic32_t *a)
Decrements the value of a.
Parameters:
a: atomic variable
Memory ordering: release
Function vatomic32_dec_rlx
static void vatomic32_dec_rlx(vatomic32_t *a)
Decrements the value of a.
Parameters:
a: atomic variable
Memory ordering: relaxed