vsync / atomic / dispatch.h

Set of macros to dispatch atomic functions.

These macros select the atomic function variant based on the argument type, for example, vatomic_read(a) calls vatomic32_read(a) if a is a vatomic32_t and calls vatomic64_read(a) if a is a vatomic64_t. vatomicptr_t is mapped to either 32 or 64 bits functions depending on the architecture.


Macros

Macro Description
vatomic_init Dispatches init calls with configurable memory order.
vatomic_read Dispatches read calls with seq_cst memory order.
vatomic_read_acq Dispatches read calls with acquire memory order.
vatomic_read_rlx Dispatches read calls with relaxed memory order.
vatomic_write Dispatches write calls with seq_cst memory order.
vatomic_write_rel Dispatches write calls with release memory order.
vatomic_write_rlx Dispatches write calls with relaxed memory order.
vatomic_xchg Dispatches xchg calls with seq_cst memory order.
vatomic_xchg_acq Dispatches xchg calls with acquire memory order.
vatomic_xchg_rel Dispatches xchg calls with release memory order.
vatomic_xchg_rlx Dispatches xchg calls with relaxed memory order.
vatomic_cmpxchg Dispatches cmpxchg calls with seq_cst memory order.
vatomic_cmpxchg_acq Dispatches cmpxchg calls with acquire memory order.
vatomic_cmpxchg_rel Dispatches cmpxchg calls with release memory order.
vatomic_cmpxchg_rlx Dispatches cmpxchg calls with relaxed memory order.
vatomic_inc Dispatches inc calls with seq_cst memory order.
vatomic_inc_rel Dispatches inc calls with release memory order.
vatomic_inc_rlx Dispatches inc calls with relaxed memory order.
vatomic_dec Dispatches dec calls with seq_cst memory order.
vatomic_dec_rel Dispatches dec calls with release memory order.
vatomic_dec_rlx Dispatches dec calls with relaxed memory order.
vatomic_inc_get Dispatches inc_get calls with seq_cst memory order.
vatomic_inc_get_acq Dispatches inc_get calls with acquire memory order.
vatomic_inc_get_rel Dispatches inc_get calls with release memory order.
vatomic_inc_get_rlx Dispatches inc_get calls with relaxed memory order.
vatomic_dec_get Dispatches dec_get calls with seq_cst memory order.
vatomic_dec_get_acq Dispatches dec_get calls with acquire memory order.
vatomic_dec_get_rel Dispatches dec_get calls with release memory order.
vatomic_dec_get_rlx Dispatches dec_get calls with relaxed memory order.
vatomic_get_inc Dispatches get_inc calls with seq_cst memory order.
vatomic_get_inc_acq Dispatches get_inc calls with acquire memory order.
vatomic_get_inc_rel Dispatches get_inc calls with release memory order.
vatomic_get_inc_rlx Dispatches get_inc calls with relaxed memory order.
vatomic_get_dec Dispatches get_dec calls with seq_cst memory order.
vatomic_get_dec_acq Dispatches get_dec calls with acquire memory order.
vatomic_get_dec_rel Dispatches get_dec calls with release memory order.
vatomic_get_dec_rlx Dispatches get_dec calls with relaxed memory order.
vatomic_add Dispatches add calls with seq_cst memory order.
vatomic_add_rel Dispatches add calls with release memory order.
vatomic_add_rlx Dispatches add calls with relaxed memory order.
vatomic_sub Dispatches sub calls with seq_cst memory order.
vatomic_sub_rel Dispatches sub calls with release memory order.
vatomic_sub_rlx Dispatches sub calls with relaxed memory order.
vatomic_and Dispatches and calls with seq_cst memory order.
vatomic_and_rel Dispatches and calls with release memory order.
vatomic_and_rlx Dispatches and calls with relaxed memory order.
vatomic_xor Dispatches xor calls with seq_cst memory order.
vatomic_xor_rel Dispatches xor calls with release memory order.
vatomic_xor_rlx Dispatches xor calls with relaxed memory order.
vatomic_or Dispatches or calls with seq_cst memory order.
vatomic_or_rel Dispatches or calls with release memory order.
vatomic_or_rlx Dispatches or calls with relaxed memory order.
vatomic_max Dispatches max calls with seq_cst memory order.
vatomic_max_rel Dispatches max calls with release memory order.
vatomic_max_rlx Dispatches max calls with relaxed memory order.
vatomic_add_get Dispatches add_get calls with seq_cst memory order.
vatomic_add_get_acq Dispatches add_get calls with acquire memory order.
vatomic_add_get_rel Dispatches add_get calls with release memory order.
vatomic_add_get_rlx Dispatches add_get calls with relaxed memory order.
vatomic_sub_get Dispatches sub_get calls with seq_cst memory order.
vatomic_sub_get_acq Dispatches sub_get calls with acquire memory order.
vatomic_sub_get_rel Dispatches sub_get calls with release memory order.
vatomic_sub_get_rlx Dispatches sub_get calls with relaxed memory order.
vatomic_and_get Dispatches and_get calls with seq_cst memory order.
vatomic_and_get_acq Dispatches and_get calls with acquire memory order.
vatomic_and_get_rel Dispatches and_get calls with release memory order.
vatomic_and_get_rlx Dispatches and_get calls with relaxed memory order.
vatomic_xor_get Dispatches xor_get calls with seq_cst memory order.
vatomic_xor_get_acq Dispatches xor_get calls with acquire memory order.
vatomic_xor_get_rel Dispatches xor_get calls with release memory order.
vatomic_xor_get_rlx Dispatches xor_get calls with relaxed memory order.
vatomic_or_get Dispatches or_get calls with seq_cst memory order.
vatomic_or_get_acq Dispatches or_get calls with acquire memory order.
vatomic_or_get_rel Dispatches or_get calls with release memory order.
vatomic_or_get_rlx Dispatches or_get calls with relaxed memory order.
vatomic_max_get Dispatches max_get calls with seq_cst memory order.
vatomic_max_get_acq Dispatches max_get calls with acquire memory order.
vatomic_max_get_rel Dispatches max_get calls with release memory order.
vatomic_max_get_rlx Dispatches max_get calls with relaxed memory order.
vatomic_get_add Dispatches get_add calls with seq_cst memory order.
vatomic_get_sub Dispatches get_sub calls with seq_cst memory order.
vatomic_get_and Dispatches get_and calls with seq_cst memory order.
vatomic_get_xor Dispatches get_xor calls with seq_cst memory order.
vatomic_get_or Dispatches get_or calls with seq_cst memory order.
vatomic_get_max Dispatches get_max calls with seq_cst memory order.
vatomic_await_eq Dispatches await_eq calls with seq_cst memory order.
vatomic_await_eq_acq Dispatches await_eq calls with acquire memory order.
vatomic_await_eq_rlx Dispatches await_eq calls with relaxed memory order.
vatomic_await_neq Dispatches await_neq calls with seq_cst memory order.
vatomic_await_neq_acq Dispatches await_neq calls with acquire memory order.
vatomic_await_neq_rlx Dispatches await_neq calls with relaxed memory order.
vatomic_await_le Dispatches await_le calls with seq_cst memory order.
vatomic_await_le_acq Dispatches await_le calls with acquire memory order.
vatomic_await_le_rlx Dispatches await_le calls with relaxed memory order.
vatomic_await_lt Dispatches await_lt calls with seq_cst memory order.
vatomic_await_lt_acq Dispatches await_lt calls with acquire memory order.
vatomic_await_lt_rlx Dispatches await_lt calls with relaxed memory order.
vatomic_await_gt Dispatches await_gt calls with seq_cst memory order.
vatomic_await_gt_acq Dispatches await_gt calls with acquire memory order.
vatomic_await_gt_rlx Dispatches await_gt calls with relaxed memory order.
vatomic_await_ge Dispatches await_ge calls with seq_cst memory order.
vatomic_await_ge_acq Dispatches await_ge calls with acquire memory order.
vatomic_await_ge_rlx Dispatches await_ge calls with relaxed memory order.
vatomic_await_eq_set Dispatches await_eq_set calls with seq_cst memory order.
vatomic_await_eq_set_acq Dispatches await_eq_set calls with acquire memory order.
vatomic_await_eq_set_rel Dispatches await_eq_set calls with release memory order.
vatomic_await_eq_set_rlx Dispatches await_eq_set calls with relaxed memory order.
vatomic_await_eq_sub Dispatches await_eq_sub calls with seq_cst memory order.
vatomic_await_eq_sub_acq Dispatches await_eq_sub calls with acquire memory order.
vatomic_await_eq_sub_rel Dispatches await_eq_sub calls with release memory order.
vatomic_await_eq_sub_rlx Dispatches await_eq_sub calls with relaxed memory order.
vatomic_await_eq_add Dispatches await_eq_add calls with seq_cst memory order.
vatomic_await_eq_add_acq Dispatches await_eq_add calls with acquire memory order.
vatomic_await_eq_add_rel Dispatches await_eq_add calls with release memory order.
vatomic_await_eq_add_rlx Dispatches await_eq_add calls with relaxed memory order.
vatomic_await_neq_set Dispatches await_neq_set calls with seq_cst memory order.
vatomic_await_neq_set_acq Dispatches await_neq_set calls with acquire memory order.
vatomic_await_neq_set_rel Dispatches await_neq_set calls with release memory order.
vatomic_await_neq_set_rlx Dispatches await_neq_set calls with relaxed memory order.
vatomic_await_neq_sub Dispatches await_neq_sub calls with seq_cst memory order.
vatomic_await_neq_sub_acq Dispatches await_neq_sub calls with acquire memory order.
vatomic_await_neq_sub_rel Dispatches await_neq_sub calls with release memory order.
vatomic_await_neq_sub_rlx Dispatches await_neq_sub calls with relaxed memory order.
vatomic_await_neq_add Dispatches await_neq_add calls with seq_cst memory order.
vatomic_await_neq_add_acq Dispatches await_neq_add calls with acquire memory order.
vatomic_await_neq_add_rel Dispatches await_neq_add calls with release memory order.
vatomic_await_neq_add_rlx Dispatches await_neq_add calls with relaxed memory order.
vatomic_await_le_set Dispatches await_le_set calls with seq_cst memory order.
vatomic_await_le_set_acq Dispatches await_le_set calls with acquire memory order.
vatomic_await_le_set_rel Dispatches await_le_set calls with release memory order.
vatomic_await_le_set_rlx Dispatches await_le_set calls with relaxed memory order.
vatomic_await_le_sub Dispatches await_le_sub calls with seq_cst memory order.
vatomic_await_le_sub_acq Dispatches await_le_sub calls with acquire memory order.
vatomic_await_le_sub_rel Dispatches await_le_sub calls with release memory order.
vatomic_await_le_sub_rlx Dispatches await_le_sub calls with relaxed memory order.
vatomic_await_le_add Dispatches await_le_add calls with seq_cst memory order.
vatomic_await_le_add_acq Dispatches await_le_add calls with acquire memory order.
vatomic_await_le_add_rel Dispatches await_le_add calls with release memory order.
vatomic_await_le_add_rlx Dispatches await_le_add calls with relaxed memory order.
vatomic_await_lt_set Dispatches await_lt_set calls with seq_cst memory order.
vatomic_await_lt_set_acq Dispatches await_lt_set calls with acquire memory order.
vatomic_await_lt_set_rel Dispatches await_lt_set calls with release memory order.
vatomic_await_lt_set_rlx Dispatches await_lt_set calls with relaxed memory order.
vatomic_await_lt_sub Dispatches await_lt_sub calls with seq_cst memory order.
vatomic_await_lt_sub_acq Dispatches await_lt_sub calls with acquire memory order.
vatomic_await_lt_sub_rel Dispatches await_lt_sub calls with release memory order.
vatomic_await_lt_sub_rlx Dispatches await_lt_sub calls with relaxed memory order.
vatomic_await_lt_add Dispatches await_lt_add calls with seq_cst memory order.
vatomic_await_lt_add_acq Dispatches await_lt_add calls with acquire memory order.
vatomic_await_lt_add_rel Dispatches await_lt_add calls with release memory order.
vatomic_await_lt_add_rlx Dispatches await_lt_add calls with relaxed memory order.
vatomic_await_gt_set Dispatches await_gt_set calls with seq_cst memory order.
vatomic_await_gt_set_acq Dispatches await_gt_set calls with acquire memory order.
vatomic_await_gt_set_rel Dispatches await_gt_set calls with release memory order.
vatomic_await_gt_set_rlx Dispatches await_gt_set calls with relaxed memory order.
vatomic_await_gt_sub Dispatches await_gt_sub calls with seq_cst memory order.
vatomic_await_gt_sub_acq Dispatches await_gt_sub calls with acquire memory order.
vatomic_await_gt_sub_rel Dispatches await_gt_sub calls with release memory order.
vatomic_await_gt_sub_rlx Dispatches await_gt_sub calls with relaxed memory order.
vatomic_await_gt_add Dispatches await_gt_add calls with seq_cst memory order.
vatomic_await_gt_add_acq Dispatches await_gt_add calls with acquire memory order.
vatomic_await_gt_add_rel Dispatches await_gt_add calls with release memory order.
vatomic_await_gt_add_rlx Dispatches await_gt_add calls with relaxed memory order.
vatomic_await_ge_set Dispatches await_ge_set calls with seq_cst memory order.
vatomic_await_ge_set_acq Dispatches await_ge_set calls with acquire memory order.
vatomic_await_ge_set_rel Dispatches await_ge_set calls with release memory order.
vatomic_await_ge_set_rlx Dispatches await_ge_set calls with relaxed memory order.
vatomic_await_ge_sub Dispatches await_ge_sub calls with seq_cst memory order.
vatomic_await_ge_sub_acq Dispatches await_ge_sub calls with acquire memory order.
vatomic_await_ge_sub_rel Dispatches await_ge_sub calls with release memory order.
vatomic_await_ge_sub_rlx Dispatches await_ge_sub calls with relaxed memory order.
vatomic_await_ge_add Dispatches await_ge_add calls with seq_cst memory order.
vatomic_await_ge_add_acq Dispatches await_ge_add calls with acquire memory order.
vatomic_await_ge_add_rel Dispatches await_ge_add calls with release memory order.
vatomic_await_ge_add_rlx Dispatches await_ge_add calls with relaxed memory order.

Macro vatomic_init

vatomic_init(a,v)

Dispatches init calls with configurable memory order.

See vatomic32_init for details.

Parameters:

  • a: atomic variable
  • v: initial value

Macro vatomic_read

vatomic_read(a)

Dispatches read calls with seq_cst memory order.

See vatomic32_read for details.

Parameters:

  • a: atomic variable

Returns: current value

Memory ordering: seq_cst

Macro vatomic_read_acq

vatomic_read_acq(a)

Dispatches read calls with acquire memory order.

See vatomic32_read_acq for details.

Parameters:

  • a: atomic variable

Returns: current value

Memory ordering: acquire

Macro vatomic_read_rlx

vatomic_read_rlx(a)

Dispatches read calls with relaxed memory order.

See vatomic32_read_rlx for details.

Parameters:

  • a: atomic variable

Returns: current value

Memory ordering: relaxed

Macro vatomic_write

vatomic_write(a,v)

Dispatches write calls with seq_cst memory order.

See vatomic32_write for details.

Parameters:

  • a: atomic variable
  • v: new value

Memory ordering: seq_cst

Macro vatomic_write_rel

vatomic_write_rel(a,v)

Dispatches write calls with release memory order.

See vatomic32_write_rel for details.

Parameters:

  • a: atomic variable
  • v: new value

Memory ordering: release

Macro vatomic_write_rlx

vatomic_write_rlx(a,v)

Dispatches write calls with relaxed memory order.

See vatomic32_write_rlx for details.

Parameters:

  • a: atomic variable
  • v: new value

Memory ordering: relaxed

Macro vatomic_xchg

vatomic_xchg(a,v)

Dispatches xchg calls with seq_cst memory order.

See vatomic32_xchg for details.

Parameters:

  • a: atomic variable
  • v: new value

Returns: old value

Memory ordering: seq_cst

Macro vatomic_xchg_acq

vatomic_xchg_acq(a,v)

Dispatches xchg calls with acquire memory order.

See vatomic32_xchg_acq for details.

Parameters:

  • a: atomic variable
  • v: new value

Returns: old value

Memory ordering: acquire

Macro vatomic_xchg_rel

vatomic_xchg_rel(a,v)

Dispatches xchg calls with release memory order.

See vatomic32_xchg_rel for details.

Parameters:

  • a: atomic variable
  • v: new value

Returns: old value

Memory ordering: release

Macro vatomic_xchg_rlx

vatomic_xchg_rlx(a,v)

Dispatches xchg calls with relaxed memory order.

See vatomic32_xchg_rlx for details.

Parameters:

  • a: atomic variable
  • v: new value

Returns: old value

Memory ordering: relaxed

Macro vatomic_cmpxchg

vatomic_cmpxchg(a,c,v)

Dispatches cmpxchg calls with seq_cst memory order.

See vatomic32_cmpxchg for details.

Parameters:

  • a: atomic variable
  • c: expected value
  • v: new value

Returns: old value

Memory ordering: seq_cst

Macro vatomic_cmpxchg_acq

vatomic_cmpxchg_acq(a,c,v)

Dispatches cmpxchg calls with acquire memory order.

See vatomic32_cmpxchg_acq for details.

Parameters:

  • a: atomic variable
  • c: expected value
  • v: new value

Returns: old value

Memory ordering: acquire

Macro vatomic_cmpxchg_rel

vatomic_cmpxchg_rel(a,c,v)

Dispatches cmpxchg calls with release memory order.

See vatomic32_cmpxchg_rel for details.

Parameters:

  • a: atomic variable
  • c: expected value
  • v: new value

Returns: old value

Memory ordering: release

Macro vatomic_cmpxchg_rlx

vatomic_cmpxchg_rlx(a,c,v)

Dispatches cmpxchg calls with relaxed memory order.

See vatomic32_cmpxchg_rlx for details.

Parameters:

  • a: atomic variable
  • c: expected value
  • v: new value

Returns: old value

Memory ordering: relaxed

Macro vatomic_inc

vatomic_inc(a)

Dispatches inc calls with seq_cst memory order.

See vatomic32_inc for details.

Parameters:

  • a: atomic variable

Memory ordering: seq_cst

Macro vatomic_inc_rel

vatomic_inc_rel(a)

Dispatches inc calls with release memory order.

See vatomic32_inc_rel for details.

Parameters:

  • a: atomic variable

Memory ordering: release

Macro vatomic_inc_rlx

vatomic_inc_rlx(a)

Dispatches inc calls with relaxed memory order.

See vatomic32_inc_rlx for details.

Parameters:

  • a: atomic variable

Memory ordering: relaxed

Macro vatomic_dec

vatomic_dec(a)

Dispatches dec calls with seq_cst memory order.

See vatomic32_dec for details.

Parameters:

  • a: atomic variable

Memory ordering: seq_cst

Macro vatomic_dec_rel

vatomic_dec_rel(a)

Dispatches dec calls with release memory order.

See vatomic32_dec_rel for details.

Parameters:

  • a: atomic variable

Memory ordering: release

Macro vatomic_dec_rlx

vatomic_dec_rlx(a)

Dispatches dec calls with relaxed memory order.

See vatomic32_dec_rlx for details.

Parameters:

  • a: atomic variable

Memory ordering: relaxed

Macro vatomic_inc_get

vatomic_inc_get(a)

Dispatches inc_get calls with seq_cst memory order.

See vatomic32_inc_get for details.

Parameters:

  • a: atomic variable

Returns: new value

Memory ordering: seq_cst

Macro vatomic_inc_get_acq

vatomic_inc_get_acq(a)

Dispatches inc_get calls with acquire memory order.

See vatomic32_inc_get_acq for details.

Parameters:

  • a: atomic variable

Returns: new value

Memory ordering: acquire

Macro vatomic_inc_get_rel

vatomic_inc_get_rel(a)

Dispatches inc_get calls with release memory order.

See vatomic32_inc_get_rel for details.

Parameters:

  • a: atomic variable

Returns: new value

Memory ordering: release

Macro vatomic_inc_get_rlx

vatomic_inc_get_rlx(a)

Dispatches inc_get calls with relaxed memory order.

See vatomic32_inc_get_rlx for details.

Parameters:

  • a: atomic variable

Returns: new value

Memory ordering: relaxed

Macro vatomic_dec_get

vatomic_dec_get(a)

Dispatches dec_get calls with seq_cst memory order.

See vatomic32_dec_get for details.

Parameters:

  • a: atomic variable

Returns: new value

Memory ordering: seq_cst

Macro vatomic_dec_get_acq

vatomic_dec_get_acq(a)

Dispatches dec_get calls with acquire memory order.

See vatomic32_dec_get_acq for details.

Parameters:

  • a: atomic variable

Returns: new value

Memory ordering: acquire

Macro vatomic_dec_get_rel

vatomic_dec_get_rel(a)

Dispatches dec_get calls with release memory order.

See vatomic32_dec_get_rel for details.

Parameters:

  • a: atomic variable

Returns: new value

Memory ordering: release

Macro vatomic_dec_get_rlx

vatomic_dec_get_rlx(a)

Dispatches dec_get calls with relaxed memory order.

See vatomic32_dec_get_rlx for details.

Parameters:

  • a: atomic variable

Returns: new value

Memory ordering: relaxed

Macro vatomic_get_inc

vatomic_get_inc(a)

Dispatches get_inc calls with seq_cst memory order.

See vatomic32_get_inc for details.

Parameters:

  • a: atomic variable

Returns: old value

Memory ordering: seq_cst

Macro vatomic_get_inc_acq

vatomic_get_inc_acq(a)

Dispatches get_inc calls with acquire memory order.

See vatomic32_get_inc_acq for details.

Parameters:

  • a: atomic variable

Returns: old value

Memory ordering: acquire

Macro vatomic_get_inc_rel

vatomic_get_inc_rel(a)

Dispatches get_inc calls with release memory order.

See vatomic32_get_inc_rel for details.

Parameters:

  • a: atomic variable

Returns: old value

Memory ordering: release

Macro vatomic_get_inc_rlx

vatomic_get_inc_rlx(a)

Dispatches get_inc calls with relaxed memory order.

See vatomic32_get_inc_rlx for details.

Parameters:

  • a: atomic variable

Returns: old value

Memory ordering: relaxed

Macro vatomic_get_dec

vatomic_get_dec(a)

Dispatches get_dec calls with seq_cst memory order.

See vatomic32_get_dec for details.

Parameters:

  • a: atomic variable

Returns: old value

Memory ordering: seq_cst

Macro vatomic_get_dec_acq

vatomic_get_dec_acq(a)

Dispatches get_dec calls with acquire memory order.

See vatomic32_get_dec_acq for details.

Parameters:

  • a: atomic variable

Returns: old value

Memory ordering: acquire

Macro vatomic_get_dec_rel

vatomic_get_dec_rel(a)

Dispatches get_dec calls with release memory order.

See vatomic32_get_dec_rel for details.

Parameters:

  • a: atomic variable

Returns: old value

Memory ordering: release

Macro vatomic_get_dec_rlx

vatomic_get_dec_rlx(a)

Dispatches get_dec calls with relaxed memory order.

See vatomic32_get_dec_rlx for details.

Parameters:

  • a: atomic variable

Returns: old value

Memory ordering: relaxed

Macro vatomic_add

vatomic_add(a,v)

Dispatches add calls with seq_cst memory order.

See vatomic32_add for details.

Parameters:

  • a: atomic variable
  • v: operand value

Memory ordering: seq_cst

Macro vatomic_add_rel

vatomic_add_rel(a,v)

Dispatches add calls with release memory order.

See vatomic32_add_rel for details.

Parameters:

  • a: atomic variable
  • v: operand value

Memory ordering: release

Macro vatomic_add_rlx

vatomic_add_rlx(a,v)

Dispatches add calls with relaxed memory order.

See vatomic32_add_rlx for details.

Parameters:

  • a: atomic variable
  • v: operand value

Memory ordering: relaxed

Macro vatomic_sub

vatomic_sub(a,v)

Dispatches sub calls with seq_cst memory order.

See vatomic32_sub for details.

Parameters:

  • a: atomic variable
  • v: operand value

Memory ordering: seq_cst

Macro vatomic_sub_rel

vatomic_sub_rel(a,v)

Dispatches sub calls with release memory order.

See vatomic32_sub_rel for details.

Parameters:

  • a: atomic variable
  • v: operand value

Memory ordering: release

Macro vatomic_sub_rlx

vatomic_sub_rlx(a,v)

Dispatches sub calls with relaxed memory order.

See vatomic32_sub_rlx for details.

Parameters:

  • a: atomic variable
  • v: operand value

Memory ordering: relaxed

Macro vatomic_and

vatomic_and(a,v)

Dispatches and calls with seq_cst memory order.

See vatomic32_and for details.

Parameters:

  • a: atomic variable
  • v: operand value

Memory ordering: seq_cst

Macro vatomic_and_rel

vatomic_and_rel(a,v)

Dispatches and calls with release memory order.

See vatomic32_and_rel for details.

Parameters:

  • a: atomic variable
  • v: operand value

Memory ordering: release

Macro vatomic_and_rlx

vatomic_and_rlx(a,v)

Dispatches and calls with relaxed memory order.

See vatomic32_and_rlx for details.

Parameters:

  • a: atomic variable
  • v: operand value

Memory ordering: relaxed

Macro vatomic_xor

vatomic_xor(a,v)

Dispatches xor calls with seq_cst memory order.

See vatomic32_xor for details.

Parameters:

  • a: atomic variable
  • v: operand value

Memory ordering: seq_cst

Macro vatomic_xor_rel

vatomic_xor_rel(a,v)

Dispatches xor calls with release memory order.

See vatomic32_xor_rel for details.

Parameters:

  • a: atomic variable
  • v: operand value

Memory ordering: release

Macro vatomic_xor_rlx

vatomic_xor_rlx(a,v)

Dispatches xor calls with relaxed memory order.

See vatomic32_xor_rlx for details.

Parameters:

  • a: atomic variable
  • v: operand value

Memory ordering: relaxed

Macro vatomic_or

vatomic_or(a,v)

Dispatches or calls with seq_cst memory order.

See vatomic32_or for details.

Parameters:

  • a: atomic variable
  • v: operand value

Memory ordering: seq_cst

Macro vatomic_or_rel

vatomic_or_rel(a,v)

Dispatches or calls with release memory order.

See vatomic32_or_rel for details.

Parameters:

  • a: atomic variable
  • v: operand value

Memory ordering: release

Macro vatomic_or_rlx

vatomic_or_rlx(a,v)

Dispatches or calls with relaxed memory order.

See vatomic32_or_rlx for details.

Parameters:

  • a: atomic variable
  • v: operand value

Memory ordering: relaxed

Macro vatomic_max

vatomic_max(a,v)

Dispatches max calls with seq_cst memory order.

See vatomic32_max for details.

Parameters:

  • a: atomic variable
  • v: operand value

Memory ordering: seq_cst

Macro vatomic_max_rel

vatomic_max_rel(a,v)

Dispatches max calls with release memory order.

See vatomic32_max_rel for details.

Parameters:

  • a: atomic variable
  • v: operand value

Memory ordering: release

Macro vatomic_max_rlx

vatomic_max_rlx(a,v)

Dispatches max calls with relaxed memory order.

See vatomic32_max_rlx for details.

Parameters:

  • a: atomic variable
  • v: operand value

Memory ordering: relaxed

Macro vatomic_add_get

vatomic_add_get(a,v)

Dispatches add_get calls with seq_cst memory order.

See vatomic32_add_get for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: new value

Memory ordering: seq_cst

Macro vatomic_add_get_acq

vatomic_add_get_acq(a,v)

Dispatches add_get calls with acquire memory order.

See vatomic32_add_get_acq for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: new value

Memory ordering: acquire

Macro vatomic_add_get_rel

vatomic_add_get_rel(a,v)

Dispatches add_get calls with release memory order.

See vatomic32_add_get_rel for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: new value

Memory ordering: release

Macro vatomic_add_get_rlx

vatomic_add_get_rlx(a,v)

Dispatches add_get calls with relaxed memory order.

See vatomic32_add_get_rlx for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: new value

Memory ordering: relaxed

Macro vatomic_sub_get

vatomic_sub_get(a,v)

Dispatches sub_get calls with seq_cst memory order.

See vatomic32_sub_get for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: new value

Memory ordering: seq_cst

Macro vatomic_sub_get_acq

vatomic_sub_get_acq(a,v)

Dispatches sub_get calls with acquire memory order.

See vatomic32_sub_get_acq for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: new value

Memory ordering: acquire

Macro vatomic_sub_get_rel

vatomic_sub_get_rel(a,v)

Dispatches sub_get calls with release memory order.

See vatomic32_sub_get_rel for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: new value

Memory ordering: release

Macro vatomic_sub_get_rlx

vatomic_sub_get_rlx(a,v)

Dispatches sub_get calls with relaxed memory order.

See vatomic32_sub_get_rlx for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: new value

Memory ordering: relaxed

Macro vatomic_and_get

vatomic_and_get(a,v)

Dispatches and_get calls with seq_cst memory order.

See vatomic32_and_get for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: new value

Memory ordering: seq_cst

Macro vatomic_and_get_acq

vatomic_and_get_acq(a,v)

Dispatches and_get calls with acquire memory order.

See vatomic32_and_get_acq for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: new value

Memory ordering: acquire

Macro vatomic_and_get_rel

vatomic_and_get_rel(a,v)

Dispatches and_get calls with release memory order.

See vatomic32_and_get_rel for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: new value

Memory ordering: release

Macro vatomic_and_get_rlx

vatomic_and_get_rlx(a,v)

Dispatches and_get calls with relaxed memory order.

See vatomic32_and_get_rlx for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: new value

Memory ordering: relaxed

Macro vatomic_xor_get

vatomic_xor_get(a,v)

Dispatches xor_get calls with seq_cst memory order.

See vatomic32_xor_get for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: new value

Memory ordering: seq_cst

Macro vatomic_xor_get_acq

vatomic_xor_get_acq(a,v)

Dispatches xor_get calls with acquire memory order.

See vatomic32_xor_get_acq for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: new value

Memory ordering: acquire

Macro vatomic_xor_get_rel

vatomic_xor_get_rel(a,v)

Dispatches xor_get calls with release memory order.

See vatomic32_xor_get_rel for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: new value

Memory ordering: release

Macro vatomic_xor_get_rlx

vatomic_xor_get_rlx(a,v)

Dispatches xor_get calls with relaxed memory order.

See vatomic32_xor_get_rlx for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: new value

Memory ordering: relaxed

Macro vatomic_or_get

vatomic_or_get(a,v)

Dispatches or_get calls with seq_cst memory order.

See vatomic32_or_get for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: new value

Memory ordering: seq_cst

Macro vatomic_or_get_acq

vatomic_or_get_acq(a,v)

Dispatches or_get calls with acquire memory order.

See vatomic32_or_get_acq for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: new value

Memory ordering: acquire

Macro vatomic_or_get_rel

vatomic_or_get_rel(a,v)

Dispatches or_get calls with release memory order.

See vatomic32_or_get_rel for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: new value

Memory ordering: release

Macro vatomic_or_get_rlx

vatomic_or_get_rlx(a,v)

Dispatches or_get calls with relaxed memory order.

See vatomic32_or_get_rlx for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: new value

Memory ordering: relaxed

Macro vatomic_max_get

vatomic_max_get(a,v)

Dispatches max_get calls with seq_cst memory order.

See vatomic32_max_get for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: new value

Memory ordering: seq_cst

Macro vatomic_max_get_acq

vatomic_max_get_acq(a,v)

Dispatches max_get calls with acquire memory order.

See vatomic32_max_get_acq for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: new value

Memory ordering: acquire

Macro vatomic_max_get_rel

vatomic_max_get_rel(a,v)

Dispatches max_get calls with release memory order.

See vatomic32_max_get_rel for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: new value

Memory ordering: release

Macro vatomic_max_get_rlx

vatomic_max_get_rlx(a,v)

Dispatches max_get calls with relaxed memory order.

See vatomic32_max_get_rlx for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: new value

Memory ordering: relaxed

Macro vatomic_get_add

vatomic_get_add(a,v)

Dispatches get_add calls with seq_cst memory order.

Dispatches get_add calls with relaxed memory order.

Dispatches get_add calls with release memory order.

Dispatches get_add calls with acquire memory order.

See vatomic32_get_add for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: old value

Memory ordering: seq_cst

See vatomic32_get_add_acq for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: old value

Memory ordering: acquire

See vatomic32_get_add_rel for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: old value

Memory ordering: release

See vatomic32_get_add_rlx for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: old value

Memory ordering: relaxed

Macro vatomic_get_sub

vatomic_get_sub(a,v)

Dispatches get_sub calls with seq_cst memory order.

Dispatches get_sub calls with relaxed memory order.

Dispatches get_sub calls with release memory order.

Dispatches get_sub calls with acquire memory order.

See vatomic32_get_sub for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: old value

Memory ordering: seq_cst

See vatomic32_get_sub_acq for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: old value

Memory ordering: acquire

See vatomic32_get_sub_rel for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: old value

Memory ordering: release

See vatomic32_get_sub_rlx for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: old value

Memory ordering: relaxed

Macro vatomic_get_and

vatomic_get_and(a,v)

Dispatches get_and calls with seq_cst memory order.

Dispatches get_and calls with relaxed memory order.

Dispatches get_and calls with release memory order.

Dispatches get_and calls with acquire memory order.

See vatomic32_get_and for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: old value

Memory ordering: seq_cst

See vatomic32_get_and_acq for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: old value

Memory ordering: acquire

See vatomic32_get_and_rel for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: old value

Memory ordering: release

See vatomic32_get_and_rlx for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: old value

Memory ordering: relaxed

Macro vatomic_get_xor

vatomic_get_xor(a,v)

Dispatches get_xor calls with seq_cst memory order.

Dispatches get_xor calls with relaxed memory order.

Dispatches get_xor calls with release memory order.

Dispatches get_xor calls with acquire memory order.

See vatomic32_get_xor for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: old value

Memory ordering: seq_cst

See vatomic32_get_xor_acq for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: old value

Memory ordering: acquire

See vatomic32_get_xor_rel for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: old value

Memory ordering: release

See vatomic32_get_xor_rlx for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: old value

Memory ordering: relaxed

Macro vatomic_get_or

vatomic_get_or(a,v)

Dispatches get_or calls with seq_cst memory order.

Dispatches get_or calls with relaxed memory order.

Dispatches get_or calls with release memory order.

Dispatches get_or calls with acquire memory order.

See vatomic32_get_or for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: old value

Memory ordering: seq_cst

See vatomic32_get_or_acq for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: old value

Memory ordering: acquire

See vatomic32_get_or_rel for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: old value

Memory ordering: release

See vatomic32_get_or_rlx for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: old value

Memory ordering: relaxed

Macro vatomic_get_max

vatomic_get_max(a,v)

Dispatches get_max calls with seq_cst memory order.

Dispatches get_max calls with relaxed memory order.

Dispatches get_max calls with release memory order.

Dispatches get_max calls with acquire memory order.

See vatomic32_get_max for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: old value

Memory ordering: seq_cst

See vatomic32_get_max_acq for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: old value

Memory ordering: acquire

See vatomic32_get_max_rel for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: old value

Memory ordering: release

See vatomic32_get_max_rlx for details.

Parameters:

  • a: atomic variable
  • v: operand value

Returns: old value

Memory ordering: relaxed

Macro vatomic_await_eq

vatomic_await_eq(a,c)

Dispatches await_eq calls with seq_cst memory order.

See vatomic32_await_eq for details.

Parameters:

  • a: atomic variable
  • c: condition value

Returns: previously read value

Memory ordering: seq_cst

Macro vatomic_await_eq_acq

vatomic_await_eq_acq(a,c)

Dispatches await_eq calls with acquire memory order.

See vatomic32_await_eq_acq for details.

Parameters:

  • a: atomic variable
  • c: condition value

Returns: previously read value

Memory ordering: acquire

Macro vatomic_await_eq_rlx

vatomic_await_eq_rlx(a,c)

Dispatches await_eq calls with relaxed memory order.

See vatomic32_await_eq_rlx for details.

Parameters:

  • a: atomic variable
  • c: condition value

Returns: previously read value

Memory ordering: relaxed

Macro vatomic_await_neq

vatomic_await_neq(a,c)

Dispatches await_neq calls with seq_cst memory order.

See vatomic32_await_neq for details.

Parameters:

  • a: atomic variable
  • c: condition value

Returns: value satisfying condition

Memory ordering: seq_cst

Macro vatomic_await_neq_acq

vatomic_await_neq_acq(a,c)

Dispatches await_neq calls with acquire memory order.

See vatomic32_await_neq_acq for details.

Parameters:

  • a: atomic variable
  • c: condition value

Returns: value satisfying condition

Memory ordering: acquire

Macro vatomic_await_neq_rlx

vatomic_await_neq_rlx(a,c)

Dispatches await_neq calls with relaxed memory order.

See vatomic32_await_neq_rlx for details.

Parameters:

  • a: atomic variable
  • c: condition value

Returns: value satisfying condition

Memory ordering: relaxed

Macro vatomic_await_le

vatomic_await_le(a,c)

Dispatches await_le calls with seq_cst memory order.

See vatomic32_await_le for details.

Parameters:

  • a: atomic variable
  • c: condition value

Returns: value satisfying condition

Memory ordering: seq_cst

Macro vatomic_await_le_acq

vatomic_await_le_acq(a,c)

Dispatches await_le calls with acquire memory order.

See vatomic32_await_le_acq for details.

Parameters:

  • a: atomic variable
  • c: condition value

Returns: value satisfying condition

Memory ordering: acquire

Macro vatomic_await_le_rlx

vatomic_await_le_rlx(a,c)

Dispatches await_le calls with relaxed memory order.

See vatomic32_await_le_rlx for details.

Parameters:

  • a: atomic variable
  • c: condition value

Returns: value satisfying condition

Memory ordering: relaxed

Macro vatomic_await_lt

vatomic_await_lt(a,c)

Dispatches await_lt calls with seq_cst memory order.

See vatomic32_await_lt for details.

Parameters:

  • a: atomic variable
  • c: condition value

Returns: value satisfying condition

Memory ordering: seq_cst

Macro vatomic_await_lt_acq

vatomic_await_lt_acq(a,c)

Dispatches await_lt calls with acquire memory order.

See vatomic32_await_lt_acq for details.

Parameters:

  • a: atomic variable
  • c: condition value

Returns: value satisfying condition

Memory ordering: acquire

Macro vatomic_await_lt_rlx

vatomic_await_lt_rlx(a,c)

Dispatches await_lt calls with relaxed memory order.

See vatomic32_await_lt_rlx for details.

Parameters:

  • a: atomic variable
  • c: condition value

Returns: value satisfying condition

Memory ordering: relaxed

Macro vatomic_await_gt

vatomic_await_gt(a,c)

Dispatches await_gt calls with seq_cst memory order.

See vatomic32_await_gt for details.

Parameters:

  • a: atomic variable
  • c: condition value

Returns: value satisfying condition

Memory ordering: seq_cst

Macro vatomic_await_gt_acq

vatomic_await_gt_acq(a,c)

Dispatches await_gt calls with acquire memory order.

See vatomic32_await_gt_acq for details.

Parameters:

  • a: atomic variable
  • c: condition value

Returns: value satisfying condition

Memory ordering: acquire

Macro vatomic_await_gt_rlx

vatomic_await_gt_rlx(a,c)

Dispatches await_gt calls with relaxed memory order.

See vatomic32_await_gt_rlx for details.

Parameters:

  • a: atomic variable
  • c: condition value

Returns: value satisfying condition

Memory ordering: relaxed

Macro vatomic_await_ge

vatomic_await_ge(a,c)

Dispatches await_ge calls with seq_cst memory order.

See vatomic32_await_ge for details.

Parameters:

  • a: atomic variable
  • c: condition value

Returns: value satisfying condition

Memory ordering: seq_cst

Macro vatomic_await_ge_acq

vatomic_await_ge_acq(a,c)

Dispatches await_ge calls with acquire memory order.

See vatomic32_await_ge_acq for details.

Parameters:

  • a: atomic variable
  • c: condition value

Returns: value satisfying condition

Memory ordering: acquire

Macro vatomic_await_ge_rlx

vatomic_await_ge_rlx(a,c)

Dispatches await_ge calls with relaxed memory order.

See vatomic32_await_ge_rlx for details.

Parameters:

  • a: atomic variable
  • c: condition value

Returns: value satisfying condition

Memory ordering: relaxed

Macro vatomic_await_eq_set

vatomic_await_eq_set(a,c,v)

Dispatches await_eq_set calls with seq_cst memory order.

See vatomic32_await_eq_set_seq_cst for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: previously read value

Memory ordering: seq_cst

Macro vatomic_await_eq_set_acq

vatomic_await_eq_set_acq(a,c,v)

Dispatches await_eq_set calls with acquire memory order.

See vatomic32_await_eq_set_acquire for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: previously read value

Memory ordering: acquire

Macro vatomic_await_eq_set_rel

vatomic_await_eq_set_rel(a,c,v)

Dispatches await_eq_set calls with release memory order.

See vatomic32_await_eq_set_release for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: previously read value

Memory ordering: release

Macro vatomic_await_eq_set_rlx

vatomic_await_eq_set_rlx(a,c,v)

Dispatches await_eq_set calls with relaxed memory order.

See vatomic32_await_eq_set_relaxed for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: previously read value

Memory ordering: relaxed

Macro vatomic_await_eq_sub

vatomic_await_eq_sub(a,c,v)

Dispatches await_eq_sub calls with seq_cst memory order.

See vatomic32_await_eq_sub_seq_cst for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: previously read value

Memory ordering: seq_cst

Macro vatomic_await_eq_sub_acq

vatomic_await_eq_sub_acq(a,c,v)

Dispatches await_eq_sub calls with acquire memory order.

See vatomic32_await_eq_sub_acquire for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: previously read value

Memory ordering: acquire

Macro vatomic_await_eq_sub_rel

vatomic_await_eq_sub_rel(a,c,v)

Dispatches await_eq_sub calls with release memory order.

See vatomic32_await_eq_sub_release for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: previously read value

Memory ordering: release

Macro vatomic_await_eq_sub_rlx

vatomic_await_eq_sub_rlx(a,c,v)

Dispatches await_eq_sub calls with relaxed memory order.

See vatomic32_await_eq_sub_relaxed for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: previously read value

Memory ordering: relaxed

Macro vatomic_await_eq_add

vatomic_await_eq_add(a,c,v)

Dispatches await_eq_add calls with seq_cst memory order.

See vatomic32_await_eq_add_seq_cst for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: previously read value

Memory ordering: seq_cst

Macro vatomic_await_eq_add_acq

vatomic_await_eq_add_acq(a,c,v)

Dispatches await_eq_add calls with acquire memory order.

See vatomic32_await_eq_add_acquire for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: previously read value

Memory ordering: acquire

Macro vatomic_await_eq_add_rel

vatomic_await_eq_add_rel(a,c,v)

Dispatches await_eq_add calls with release memory order.

See vatomic32_await_eq_add_release for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: previously read value

Memory ordering: release

Macro vatomic_await_eq_add_rlx

vatomic_await_eq_add_rlx(a,c,v)

Dispatches await_eq_add calls with relaxed memory order.

See vatomic32_await_eq_add_relaxed for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: previously read value

Memory ordering: relaxed

Macro vatomic_await_neq_set

vatomic_await_neq_set(a,c,v)

Dispatches await_neq_set calls with seq_cst memory order.

See vatomic32_await_neq_set_seq_cst for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: seq_cst

Macro vatomic_await_neq_set_acq

vatomic_await_neq_set_acq(a,c,v)

Dispatches await_neq_set calls with acquire memory order.

See vatomic32_await_neq_set_acquire for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: acquire

Macro vatomic_await_neq_set_rel

vatomic_await_neq_set_rel(a,c,v)

Dispatches await_neq_set calls with release memory order.

See vatomic32_await_neq_set_release for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: release

Macro vatomic_await_neq_set_rlx

vatomic_await_neq_set_rlx(a,c,v)

Dispatches await_neq_set calls with relaxed memory order.

See vatomic32_await_neq_set_relaxed for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: relaxed

Macro vatomic_await_neq_sub

vatomic_await_neq_sub(a,c,v)

Dispatches await_neq_sub calls with seq_cst memory order.

See vatomic32_await_neq_sub_seq_cst for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: seq_cst

Macro vatomic_await_neq_sub_acq

vatomic_await_neq_sub_acq(a,c,v)

Dispatches await_neq_sub calls with acquire memory order.

See vatomic32_await_neq_sub_acquire for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: acquire

Macro vatomic_await_neq_sub_rel

vatomic_await_neq_sub_rel(a,c,v)

Dispatches await_neq_sub calls with release memory order.

See vatomic32_await_neq_sub_release for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: release

Macro vatomic_await_neq_sub_rlx

vatomic_await_neq_sub_rlx(a,c,v)

Dispatches await_neq_sub calls with relaxed memory order.

See vatomic32_await_neq_sub_relaxed for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: relaxed

Macro vatomic_await_neq_add

vatomic_await_neq_add(a,c,v)

Dispatches await_neq_add calls with seq_cst memory order.

See vatomic32_await_neq_add_seq_cst for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: seq_cst

Macro vatomic_await_neq_add_acq

vatomic_await_neq_add_acq(a,c,v)

Dispatches await_neq_add calls with acquire memory order.

See vatomic32_await_neq_add_acquire for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: acquire

Macro vatomic_await_neq_add_rel

vatomic_await_neq_add_rel(a,c,v)

Dispatches await_neq_add calls with release memory order.

See vatomic32_await_neq_add_release for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: release

Macro vatomic_await_neq_add_rlx

vatomic_await_neq_add_rlx(a,c,v)

Dispatches await_neq_add calls with relaxed memory order.

See vatomic32_await_neq_add_relaxed for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: relaxed

Macro vatomic_await_le_set

vatomic_await_le_set(a,c,v)

Dispatches await_le_set calls with seq_cst memory order.

See vatomic32_await_le_set_seq_cst for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: seq_cst

Macro vatomic_await_le_set_acq

vatomic_await_le_set_acq(a,c,v)

Dispatches await_le_set calls with acquire memory order.

See vatomic32_await_le_set_acquire for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: acquire

Macro vatomic_await_le_set_rel

vatomic_await_le_set_rel(a,c,v)

Dispatches await_le_set calls with release memory order.

See vatomic32_await_le_set_release for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: release

Macro vatomic_await_le_set_rlx

vatomic_await_le_set_rlx(a,c,v)

Dispatches await_le_set calls with relaxed memory order.

See vatomic32_await_le_set_relaxed for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: relaxed

Macro vatomic_await_le_sub

vatomic_await_le_sub(a,c,v)

Dispatches await_le_sub calls with seq_cst memory order.

See vatomic32_await_le_sub_seq_cst for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: seq_cst

Macro vatomic_await_le_sub_acq

vatomic_await_le_sub_acq(a,c,v)

Dispatches await_le_sub calls with acquire memory order.

See vatomic32_await_le_sub_acquire for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: acquire

Macro vatomic_await_le_sub_rel

vatomic_await_le_sub_rel(a,c,v)

Dispatches await_le_sub calls with release memory order.

See vatomic32_await_le_sub_release for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: release

Macro vatomic_await_le_sub_rlx

vatomic_await_le_sub_rlx(a,c,v)

Dispatches await_le_sub calls with relaxed memory order.

See vatomic32_await_le_sub_relaxed for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: relaxed

Macro vatomic_await_le_add

vatomic_await_le_add(a,c,v)

Dispatches await_le_add calls with seq_cst memory order.

See vatomic32_await_le_add_seq_cst for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: seq_cst

Macro vatomic_await_le_add_acq

vatomic_await_le_add_acq(a,c,v)

Dispatches await_le_add calls with acquire memory order.

See vatomic32_await_le_add_acquire for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: acquire

Macro vatomic_await_le_add_rel

vatomic_await_le_add_rel(a,c,v)

Dispatches await_le_add calls with release memory order.

See vatomic32_await_le_add_release for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: release

Macro vatomic_await_le_add_rlx

vatomic_await_le_add_rlx(a,c,v)

Dispatches await_le_add calls with relaxed memory order.

See vatomic32_await_le_add_relaxed for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: relaxed

Macro vatomic_await_lt_set

vatomic_await_lt_set(a,c,v)

Dispatches await_lt_set calls with seq_cst memory order.

See vatomic32_await_lt_set_seq_cst for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: seq_cst

Macro vatomic_await_lt_set_acq

vatomic_await_lt_set_acq(a,c,v)

Dispatches await_lt_set calls with acquire memory order.

See vatomic32_await_lt_set_acquire for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: acquire

Macro vatomic_await_lt_set_rel

vatomic_await_lt_set_rel(a,c,v)

Dispatches await_lt_set calls with release memory order.

See vatomic32_await_lt_set_release for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: release

Macro vatomic_await_lt_set_rlx

vatomic_await_lt_set_rlx(a,c,v)

Dispatches await_lt_set calls with relaxed memory order.

See vatomic32_await_lt_set_relaxed for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: relaxed

Macro vatomic_await_lt_sub

vatomic_await_lt_sub(a,c,v)

Dispatches await_lt_sub calls with seq_cst memory order.

See vatomic32_await_lt_sub_seq_cst for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: seq_cst

Macro vatomic_await_lt_sub_acq

vatomic_await_lt_sub_acq(a,c,v)

Dispatches await_lt_sub calls with acquire memory order.

See vatomic32_await_lt_sub_acquire for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: acquire

Macro vatomic_await_lt_sub_rel

vatomic_await_lt_sub_rel(a,c,v)

Dispatches await_lt_sub calls with release memory order.

See vatomic32_await_lt_sub_release for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: release

Macro vatomic_await_lt_sub_rlx

vatomic_await_lt_sub_rlx(a,c,v)

Dispatches await_lt_sub calls with relaxed memory order.

See vatomic32_await_lt_sub_relaxed for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: relaxed

Macro vatomic_await_lt_add

vatomic_await_lt_add(a,c,v)

Dispatches await_lt_add calls with seq_cst memory order.

See vatomic32_await_lt_add_seq_cst for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: seq_cst

Macro vatomic_await_lt_add_acq

vatomic_await_lt_add_acq(a,c,v)

Dispatches await_lt_add calls with acquire memory order.

See vatomic32_await_lt_add_acquire for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: acquire

Macro vatomic_await_lt_add_rel

vatomic_await_lt_add_rel(a,c,v)

Dispatches await_lt_add calls with release memory order.

See vatomic32_await_lt_add_release for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: release

Macro vatomic_await_lt_add_rlx

vatomic_await_lt_add_rlx(a,c,v)

Dispatches await_lt_add calls with relaxed memory order.

See vatomic32_await_lt_add_relaxed for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: relaxed

Macro vatomic_await_gt_set

vatomic_await_gt_set(a,c,v)

Dispatches await_gt_set calls with seq_cst memory order.

See vatomic32_await_gt_set_seq_cst for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: seq_cst

Macro vatomic_await_gt_set_acq

vatomic_await_gt_set_acq(a,c,v)

Dispatches await_gt_set calls with acquire memory order.

See vatomic32_await_gt_set_acquire for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: acquire

Macro vatomic_await_gt_set_rel

vatomic_await_gt_set_rel(a,c,v)

Dispatches await_gt_set calls with release memory order.

See vatomic32_await_gt_set_release for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: release

Macro vatomic_await_gt_set_rlx

vatomic_await_gt_set_rlx(a,c,v)

Dispatches await_gt_set calls with relaxed memory order.

See vatomic32_await_gt_set_relaxed for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: relaxed

Macro vatomic_await_gt_sub

vatomic_await_gt_sub(a,c,v)

Dispatches await_gt_sub calls with seq_cst memory order.

See vatomic32_await_gt_sub_seq_cst for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: seq_cst

Macro vatomic_await_gt_sub_acq

vatomic_await_gt_sub_acq(a,c,v)

Dispatches await_gt_sub calls with acquire memory order.

See vatomic32_await_gt_sub_acquire for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: acquire

Macro vatomic_await_gt_sub_rel

vatomic_await_gt_sub_rel(a,c,v)

Dispatches await_gt_sub calls with release memory order.

See vatomic32_await_gt_sub_release for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: release

Macro vatomic_await_gt_sub_rlx

vatomic_await_gt_sub_rlx(a,c,v)

Dispatches await_gt_sub calls with relaxed memory order.

See vatomic32_await_gt_sub_relaxed for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: relaxed

Macro vatomic_await_gt_add

vatomic_await_gt_add(a,c,v)

Dispatches await_gt_add calls with seq_cst memory order.

See vatomic32_await_gt_add_seq_cst for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: seq_cst

Macro vatomic_await_gt_add_acq

vatomic_await_gt_add_acq(a,c,v)

Dispatches await_gt_add calls with acquire memory order.

See vatomic32_await_gt_add_acquire for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: acquire

Macro vatomic_await_gt_add_rel

vatomic_await_gt_add_rel(a,c,v)

Dispatches await_gt_add calls with release memory order.

See vatomic32_await_gt_add_release for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: release

Macro vatomic_await_gt_add_rlx

vatomic_await_gt_add_rlx(a,c,v)

Dispatches await_gt_add calls with relaxed memory order.

See vatomic32_await_gt_add_relaxed for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: relaxed

Macro vatomic_await_ge_set

vatomic_await_ge_set(a,c,v)

Dispatches await_ge_set calls with seq_cst memory order.

See vatomic32_await_ge_set_seq_cst for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: seq_cst

Macro vatomic_await_ge_set_acq

vatomic_await_ge_set_acq(a,c,v)

Dispatches await_ge_set calls with acquire memory order.

See vatomic32_await_ge_set_acquire for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: acquire

Macro vatomic_await_ge_set_rel

vatomic_await_ge_set_rel(a,c,v)

Dispatches await_ge_set calls with release memory order.

See vatomic32_await_ge_set_release for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: release

Macro vatomic_await_ge_set_rlx

vatomic_await_ge_set_rlx(a,c,v)

Dispatches await_ge_set calls with relaxed memory order.

See vatomic32_await_ge_set_relaxed for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: relaxed

Macro vatomic_await_ge_sub

vatomic_await_ge_sub(a,c,v)

Dispatches await_ge_sub calls with seq_cst memory order.

See vatomic32_await_ge_sub_seq_cst for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: seq_cst

Macro vatomic_await_ge_sub_acq

vatomic_await_ge_sub_acq(a,c,v)

Dispatches await_ge_sub calls with acquire memory order.

See vatomic32_await_ge_sub_acquire for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: acquire

Macro vatomic_await_ge_sub_rel

vatomic_await_ge_sub_rel(a,c,v)

Dispatches await_ge_sub calls with release memory order.

See vatomic32_await_ge_sub_release for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: release

Macro vatomic_await_ge_sub_rlx

vatomic_await_ge_sub_rlx(a,c,v)

Dispatches await_ge_sub calls with relaxed memory order.

See vatomic32_await_ge_sub_relaxed for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: relaxed

Macro vatomic_await_ge_add

vatomic_await_ge_add(a,c,v)

Dispatches await_ge_add calls with seq_cst memory order.

See vatomic32_await_ge_add_seq_cst for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: seq_cst

Macro vatomic_await_ge_add_acq

vatomic_await_ge_add_acq(a,c,v)

Dispatches await_ge_add calls with acquire memory order.

See vatomic32_await_ge_add_acquire for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: acquire

Macro vatomic_await_ge_add_rel

vatomic_await_ge_add_rel(a,c,v)

Dispatches await_ge_add calls with release memory order.

See vatomic32_await_ge_add_release for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: release

Macro vatomic_await_ge_add_rlx

vatomic_await_ge_add_rlx(a,c,v)

Dispatches await_ge_add calls with relaxed memory order.

See vatomic32_await_ge_add_relaxed for details.

Parameters:

  • a: atomic variable
  • c: condition value
  • v: operand value

Returns: value satisfying condition

Memory ordering: relaxed