XWOS API  3.0
XWOS API参考手册
载入中...
搜索中...
未找到
原子操作 的协作图:

宏定义

#define xwmoaop(type, op, a, memorder, ...)    xwaop__##type##__##op(a, memorder, ##__VA_ARGS__)
 调用原子操作函数,并指明内存序
 
#define xwaop_load(type, a, memorder)    xwmoaop(type, load, (a), memorder)
 对原子变量进行原子操作:加载
 
#define xwaop_store(type, a, memorder, v)    xwmoaop(type, store, (a), memorder, (v))
 对原子变量进行原子操作:存储
 
#define xwaop(type, op, a, ...)    xwaop__##type##__##op(a, ##__VA_ARGS__)
 调用原子操作函数
 
#define xwaop_read(type, a, ov)    xwaop(type, read, (a), (ov))
 对原子变量进行原子操作:读取
 
#define xwaop_write(type, a, v, ov)    xwaop(type, write, (a), (v), (ov))
 对原子变量进行原子操作:读取—写
 
#define xwaop_teq_then_write(type, a, t, v, ov)    xwaop(type, teq_then_write, (a), (t), (v), (ov))
 对原子变量进行原子操作:读取-测试“相等”-写
 
#define xwaop_tne_then_write(type, a, t, v, ov)    xwaop(type, tne_then_write, (a), (t), (v), (ov))
 对原子变量进行原子操作:读取-测试“不相等”-写
 
#define xwaop_tgt_then_write(type, a, t, v, ov)    xwaop(type, tgt_then_write, (a), (t), (v), (ov))
 对原子变量进行原子操作:读取-测试“大于”-写
 
#define xwaop_tge_then_write(type, a, t, v, ov)    xwaop(type, tge_then_write, (a), (t), (v), (ov))
 对原子变量进行原子操作:读取-测试“大于等于”-写
 
#define xwaop_tlt_then_write(type, a, t, v, ov)    xwaop(type, tlt_then_write, (a), (t), (v), (ov))
 对原子变量进行原子操作:读取-测试“小于”-写
 
#define xwaop_tle_then_write(type, a, t, v, ov)    xwaop(type, tle_then_write, (a), (t), (v), (ov))
 对原子变量进行原子操作:读取-测试“小于等于”-写
 
#define xwaop_tgtlt_then_write(type, a, l, r, v, ov)    xwaop(type, tgtlt_then_write, (a), (l), (r), (v), (ov))
 对原子变量进行原子操作:读取-测试“区间”-写
 
#define xwaop_tgelt_then_write(type, a, l, r, v, ov)    xwaop(type, tgelt_then_write, (a), (l), (r), (v), (ov))
 对原子变量进行原子操作:读取-测试“区间”-写
 
#define xwaop_tgtle_then_write(type, a, l, r, v, ov)    xwaop(type, tgtle_then_write, (a), (l), (r), (v), (ov))
 对原子变量进行原子操作:读取-测试“区间”-写
 
#define xwaop_tgele_then_write(type, a, l, r, v, ov)    xwaop(type, tgele_then_write, (a), (l), (r), (v), (ov))
 对原子变量进行原子操作:读取-测试“区间”-写
 
#define xwaop_add(type, a, v, nv, ov)    xwaop(type, add, (a), (v), (nv), (ov))
 对原子变量进行原子操作:读取-相加-回写
 
#define xwaop_teq_then_add(type, a, t, v, nv, ov)    xwaop(type, teq_then_add, (a), (t), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“相等”-相加-回写
 
#define xwaop_tne_then_add(type, a, t, v, nv, ov)    xwaop(type, tne_then_add, (a), (t), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“不相等”-相加-回写
 
#define xwaop_tgt_then_add(type, a, t, v, nv, ov)    xwaop(type, tgt_then_add, (a), (t), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“大于”-相加-回写
 
#define xwaop_tge_then_add(type, a, t, v, nv, ov)    xwaop(type, tge_then_add, (a), (t), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“大于等于”-相加-回写
 
#define xwaop_tlt_then_add(type, a, t, v, nv, ov)    xwaop(type, tlt_then_add, (a), (t), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“小于”-相加-回写
 
#define xwaop_tle_then_add(type, a, t, v, nv, ov)    xwaop(type, tle_then_add, (a), (t), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“小于等于”-相加-回写
 
#define xwaop_tgtlt_then_add(type, a, l, r, v, nv, ov)    xwaop(type, tgtlt_then_add, (a), (l), (r), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“区间”-相加-回写
 
#define xwaop_tgelt_then_add(type, a, l, r, v, nv, ov)    xwaop(type, tgelt_then_add, (a), (l), (r), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“区间”-相加-回写
 
#define xwaop_tgtle_then_add(type, a, l, r, v, nv, ov)    xwaop(type, tgtle_then_add, (a), (l), (r), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“区间”-相加-回写
 
#define xwaop_tgele_then_add(type, a, l, r, v, nv, ov)    xwaop(type, tgele_then_add, (a), (l), (r), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“区间”-相加-回写
 
#define xwaop_sub(type, a, v, nv, ov)    xwaop(type, sub, (a), (v), (nv), (ov))
 对原子变量进行原子操作:读取-相减-回写
 
#define xwaop_teq_then_sub(type, a, t, v, nv, ov)    xwaop(type, teq_then_sub, (a), (t), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“相等”-相减-回写
 
#define xwaop_tne_then_sub(type, a, t, v, nv, ov)    xwaop(type, tne_then_sub, (a), (t), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“不相等”-相减-回写
 
#define xwaop_tgt_then_sub(type, a, t, v, nv, ov)    xwaop(type, tgt_then_sub, (a), (t), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“大于”-相减-回写
 
#define xwaop_tge_then_sub(type, a, t, v, nv, ov)    xwaop(type, tge_then_sub, (a), (t), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“大于等于”-相减-回写
 
#define xwaop_tlt_then_sub(type, a, t, v, nv, ov)    xwaop(type, tlt_then_sub, (a), (t), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“小于”-相减-回写
 
#define xwaop_tle_then_sub(type, a, t, v, nv, ov)    xwaop(type, tle_then_sub, (a), (t), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“小于等于”-相减-回写
 
#define xwaop_tgtlt_then_sub(type, a, l, r, v, nv, ov)    xwaop(type, tgtlt_then_sub, (a), (l), (r), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“区间”-相减-回写
 
#define xwaop_tgelt_then_sub(type, a, l, r, v, nv, ov)    xwaop(type, tgelt_then_sub, (a), (l), (r), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“区间”-相减-回写
 
#define xwaop_tgtle_then_sub(type, a, l, r, v, nv, ov)    xwaop(type, tgtle_then_sub, (a), (l), (r), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“区间”-相减-回写
 
#define xwaop_tgele_then_sub(type, a, l, r, v, nv, ov)    xwaop(type, tgele_then_sub, (a), (l), (r), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“区间”-相减-回写
 
#define xwaop_rsb(type, a, v, nv, ov)    xwaop(type, rsb, (a), (v), (nv), (ov))
 对原子变量进行原子操作:读取-反向减法-回写
 
#define xwaop_teq_then_rsb(type, a, t, v, nv, ov)    xwaop(type, teq_then_rsb, (a), (t), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“相等”-反向减法-回写
 
#define xwaop_tne_then_rsb(type, a, t, v, nv, ov)    xwaop(type, tne_then_rsb, (a), (t), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“不相等”-反向减法-回写
 
#define xwaop_tgt_then_rsb(type, a, t, v, nv, ov)    xwaop(type, tgt_then_rsb, (a), (t), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“大于”-反向减法-回写
 
#define xwaop_tge_then_rsb(type, a, t, v, nv, ov)    xwaop(type, tge_then_rsb, (a), (t), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“大于等于”-反向减法-回写
 
#define xwaop_tlt_then_rsb(type, a, t, v, nv, ov)    xwaop(type, tlt_then_rsb, (a), (t), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“小于”-反向减法-回写
 
#define xwaop_tle_then_rsb(type, a, t, v, nv, ov)    xwaop(type, tle_then_rsb, (a), (t), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“小于等于”-反向减法-回写
 
#define xwaop_tgtlt_then_rsb(type, a, l, r, v, nv, ov)    xwaop(type, tgtlt_then_rsb, (a), (l), (r), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“区间”-反向减法-回写
 
#define xwaop_tgelt_then_rsb(type, a, l, r, v, nv, ov)    xwaop(type, tgelt_then_rsb, (a), (l), (r), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“区间”-反向减法-回写
 
#define xwaop_tgtle_then_rsb(type, a, l, r, v, nv, ov)    xwaop(type, tgtle_then_rsb, (a), (l), (r), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“区间”-反向减法-回写
 
#define xwaop_tgele_then_rsb(type, a, l, r, v, nv, ov)    xwaop(type, tgele_then_rsb, (a), (l), (r), (v), (nv), (ov))
 对原子变量进行原子操作:读取-测试“区间”-反向减法-回写
 
#define xwaop_and(type, a, v, nv, ov)    xwaop(type, and, (a), (v), (nv), (ov))
 对原子变量进行原子操作:读取-位与操作-回写
 
#define xwaop_or(type, a, v, nv, ov)    xwaop(type, or, (a), (v), (nv), (ov))
 对原子变量进行原子操作:
 
#define xwaop_xor(type, a, v, nv, ov)    xwaop(type, xor, (a), (v), (nv), (ov))
 对原子变量进行原子操作:读取-位异或操作-回写
 
#define xwaop_s1m(type, a, m, nv, ov)    xwaop(type, or, (a), (m), (nv), (ov))
 对原子变量进行原子操作:读取-位置1操作-回写
 
#define xwaop_c0m(type, a, m, nv, ov)    xwaop(type, c0m, (a), (m), (nv), (ov))
 对原子变量进行原子操作:读取-位清0操作-回写
 
#define xwaop_x1m(type, a, m, nv, ov)    xwaop(type, xor, (a), (m), (nv), (ov))
 对原子变量进行原子操作:读取-位翻转操作-回写
 
#define xwaop_t1ma_then_c0m(type, a, m, nv, ov)    xwaop(type, t1ma_then_c0m, (a), (m), (nv), (ov))
 对原子变量进行原子操作:读取-位测试-位清零操作-回写
 
#define xwaop_t1mo_then_c0m(type, a, m, nv, ov)    xwaop(type, t1mo_then_c0m, (a), (m), (nv), (ov))
 对原子变量进行原子操作:读取-位测试-位清零操作-回写
 
#define xwaop_t0ma_then_s1m(type, a, m, nv, ov)    xwaop(type, t0ma_then_s1m, (a), (m), (nv), (ov))
 对原子变量进行原子操作:读取-位测试-位置1操作-回写
 
#define xwaop_t0mo_then_s1m(type, a, m, nv, ov)    xwaop(type, t0mo_then_s1m, (a), (m), (nv), (ov))
 对原子变量进行原子操作:读取-位测试-位置1操作-回写
 
#define xwaop_tst_then_op(type, a, tf, tfarg, of, ofarg, nv, ov)    xwaop(type, tst_then_op, (a), (tf), (tfarg), (of), (ofarg), (nv), (ov))
 对原子变量进行原子操作:读取-测试-修改-回写
 
#define DEFINE_XWAOP_LOAD(type, btype)
 定义原子操作模板:load
 
#define DEFINE_XWAOP_STORE(type, btype)
 定义原子操作模板:store
 
#define DEFINE_XWAOP_READ(type, btype)
 定义原子操作模板:read
 
#define DEFINE_XWAOP_WRITE(type, btype)
 定义原子操作模板:write
 
#define DEFINE_XWAOP_TEQ_THEN_WRITE(type, btype)
 定义原子操作模板:teq_then_write
 
#define DEFINE_XWAOP_TNE_THEN_WRITE(type, btype)
 定义原子操作模板:tne_then_write
 
#define DEFINE_XWAOP_TGT_THEN_WRITE(type, btype)
 定义原子操作模板:tgt_then_write
 
#define DEFINE_XWAOP_TGE_THEN_WRITE(type, btype)
 定义原子操作模板:tge_then_write
 
#define DEFINE_XWAOP_TLT_THEN_WRITE(type, btype)
 定义原子操作模板:tlt_then_write
 
#define DEFINE_XWAOP_TLE_THEN_WRITE(type, btype)
 定义原子操作模板:tle_then_write
 
#define DEFINE_XWAOP_TGTLT_THEN_WRITE(type, btype)
 定义原子操作模板:tgtlt_then_write
 
#define DEFINE_XWAOP_TGELT_THEN_WRITE(type, btype)
 定义原子操作模板:tgelt_then_write
 
#define DEFINE_XWAOP_TGTLE_THEN_WRITE(type, btype)
 定义原子操作模板:tgtle_then_write
 
#define DEFINE_XWAOP_TGELE_THEN_WRITE(type, btype)
 定义原子操作模板:tgele_then_write
 
#define DEFINE_XWAOP_ADD(type, btype)
 定义原子操作模板:add
 
#define DEFINE_XWAOP_TEQ_THEN_ADD(type, btype)
 定义原子操作模板:teq_then_add
 
#define DEFINE_XWAOP_TNE_THEN_ADD(type, btype)
 定义原子操作模板:tne_then_add
 
#define DEFINE_XWAOP_TGT_THEN_ADD(type, btype)
 定义原子操作模板:tgt_then_add
 
#define DEFINE_XWAOP_TGE_THEN_ADD(type, btype)
 定义原子操作模板:tge_then_add
 
#define DEFINE_XWAOP_TLT_THEN_ADD(type, btype)
 定义原子操作模板:tlt_then_add
 
#define DEFINE_XWAOP_TLE_THEN_ADD(type, btype)
 定义原子操作模板:tle_then_add
 
#define DEFINE_XWAOP_TGTLT_THEN_ADD(type, btype)
 定义原子操作模板:tgtlt_then_add
 
#define DEFINE_XWAOP_TGELT_THEN_ADD(type, btype)
 定义原子操作模板:tgelt_then_add
 
#define DEFINE_XWAOP_TGTLE_THEN_ADD(type, btype)
 定义原子操作模板:tgtle_then_add
 
#define DEFINE_XWAOP_TGELE_THEN_ADD(type, btype)
 定义原子操作模板:tgele_then_add
 
#define DEFINE_XWAOP_SUB(type, btype)
 定义原子操作模板:sub
 
#define DEFINE_XWAOP_TEQ_THEN_SUB(type, btype)
 定义原子操作模板:teq_then_sub
 
#define DEFINE_XWAOP_TNE_THEN_SUB(type, btype)
 定义原子操作模板:tne_then_sub
 
#define DEFINE_XWAOP_TGT_THEN_SUB(type, btype)
 定义原子操作模板:tge_then_sub
 
#define DEFINE_XWAOP_TGE_THEN_SUB(type, btype)
 定义原子操作模板:tge_then_sub
 
#define DEFINE_XWAOP_TLT_THEN_SUB(type, btype)
 定义原子操作模板:tlt_then_sub
 
#define DEFINE_XWAOP_TLE_THEN_SUB(type, btype)
 定义原子操作模板:tle_then_sub
 
#define DEFINE_XWAOP_TGTLT_THEN_SUB(type, btype)
 定义原子操作模板:tgtlt_then_sub
 
#define DEFINE_XWAOP_TGELT_THEN_SUB(type, btype)
 定义原子操作模板:tgelt_then_sub
 
#define DEFINE_XWAOP_TGTLE_THEN_SUB(type, btype)
 定义原子操作模板:tgtle_then_sub
 
#define DEFINE_XWAOP_TGELE_THEN_SUB(type, btype)
 定义原子操作模板:tgele_then_sub
 
#define DEFINE_XWAOP_RSB(type, btype)
 定义原子操作模板:rsb
 
#define DEFINE_XWAOP_TEQ_THEN_RSB(type, btype)
 定义原子操作模板:teq_then_rsb
 
#define DEFINE_XWAOP_TNE_THEN_RSB(type, btype)
 定义原子操作模板:tne_then_rsb
 
#define DEFINE_XWAOP_TGT_THEN_RSB(type, btype)
 定义原子操作模板:tgt_then_rsb
 
#define DEFINE_XWAOP_TGE_THEN_RSB(type, btype)
 定义原子操作模板:tge_then_rsb
 
#define DEFINE_XWAOP_TLT_THEN_RSB(type, btype)
 定义原子操作模板:tle_then_rsb
 
#define DEFINE_XWAOP_TLE_THEN_RSB(type, btype)
 定义原子操作模板:tle_then_rsb
 
#define DEFINE_XWAOP_TGTLT_THEN_RSB(type, btype)
 定义原子操作模板:tgtlt_then_rsb
 
#define DEFINE_XWAOP_TGELT_THEN_RSB(type, btype)
 定义原子操作模板:tgelt_then_rsb
 
#define DEFINE_XWAOP_TGTLE_THEN_RSB(type, btype)
 定义原子操作模板:tgtle_then_rsb
 
#define DEFINE_XWAOP_TGELE_THEN_RSB(type, btype)
 定义原子操作模板:tgele_then_rsb
 
#define DEFINE_XWAOP_OR(type, btype)
 定义原子操作模板:or
 
#define DEFINE_XWAOP_AND(type, btype)
 定义原子操作模板:and
 
#define DEFINE_XWAOP_XOR(type, btype)
 定义原子操作模板:xor
 
#define DEFINE_XWAOP_C0M(type, btype)
 定义原子操作模板:c0m
 
#define DEFINE_XWAOP_T1MA_THEN_C0M(type, btype)
 定义原子操作模板:t1ma_then_c0m
 
#define DEFINE_XWAOP_T1MO_THEN_C0M(type, btype)
 定义原子操作模板:t1mo_then_c0m
 
#define DEFINE_XWAOP_T0MA_THEN_S1M(type, btype)
 定义原子操作模板:t0ma_then_s1m
 
#define DEFINE_XWAOP_T0MO_THEN_S1M(type, btype)
 定义原子操作模板:t0mo_then_s1m
 
#define DEFINE_XWAOP_TST_THEN_OP(type, btype)
 定义原子操作模板:tst_then_op
 
#define DEFINE_XWAOP(type, btype)
 使用模板为某一类型定义原子操作函数集合
 

函数

static xwsz_t xwaop__xwsz_t__load (atomic_xwsz_t *a, const enum xwaop_memory_order_em mo)
 
static xwsz_t xwaop__xwsz_t__store (atomic_xwsz_t *a, const enum xwaop_memory_order_em mo, xwsz_t v)
 
static void xwaop__xwsz_t__read (atomic_xwsz_t *a, xwsz_t *ov)
 
static void xwaop__xwsz_t__write (atomic_xwsz_t *a, xwsz_t v, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__teq_then_write (atomic_xwsz_t *a, xwsz_t t, xwsz_t v, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tne_then_write (atomic_xwsz_t *a, xwsz_t t, xwsz_t v, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tgt_then_write (atomic_xwsz_t *a, xwsz_t t, xwsz_t v, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tge_then_write (atomic_xwsz_t *a, xwsz_t t, xwsz_t v, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tlt_then_write (atomic_xwsz_t *a, xwsz_t t, xwsz_t v, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tle_then_write (atomic_xwsz_t *a, xwsz_t t, xwsz_t v, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tgtlt_then_write (atomic_xwsz_t *a, xwsz_t l, xwsz_t r, xwsz_t v, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tgelt_then_write (atomic_xwsz_t *a, xwsz_t l, xwsz_t r, xwsz_t v, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tgtle_then_write (atomic_xwsz_t *a, xwsz_t l, xwsz_t r, xwsz_t v, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tgele_then_write (atomic_xwsz_t *a, xwsz_t l, xwsz_t r, xwsz_t v, xwsz_t *ov)
 
static void xwaop__xwsz_t__add (atomic_xwsz_t *a, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__teq_then_add (atomic_xwsz_t *a, xwsz_t t, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tne_then_add (atomic_xwsz_t *a, xwsz_t t, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tgt_then_add (atomic_xwsz_t *a, xwsz_t t, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tge_then_add (atomic_xwsz_t *a, xwsz_t t, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tlt_then_add (atomic_xwsz_t *a, xwsz_t t, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tle_then_add (atomic_xwsz_t *a, xwsz_t t, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tgtlt_then_add (atomic_xwsz_t *a, xwsz_t l, xwsz_t r, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tgelt_then_add (atomic_xwsz_t *a, xwsz_t l, xwsz_t r, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tgtle_then_add (atomic_xwsz_t *a, xwsz_t l, xwsz_t r, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tgele_then_add (atomic_xwsz_t *a, xwsz_t l, xwsz_t r, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static void xwaop__xwsz_t__sub (atomic_xwsz_t *a, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__teq_then_sub (atomic_xwsz_t *a, xwsz_t t, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tne_then_sub (atomic_xwsz_t *a, xwsz_t t, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tgt_then_sub (atomic_xwsz_t *a, xwsz_t t, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tge_then_sub (atomic_xwsz_t *a, xwsz_t t, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tlt_then_sub (atomic_xwsz_t *a, xwsz_t t, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tle_then_sub (atomic_xwsz_t *a, xwsz_t t, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tgtlt_then_sub (atomic_xwsz_t *a, xwsz_t l, xwsz_t r, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tgelt_then_sub (atomic_xwsz_t *a, xwsz_t l, xwsz_t r, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tgtle_then_sub (atomic_xwsz_t *a, xwsz_t l, xwsz_t r, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tgele_then_sub (atomic_xwsz_t *a, xwsz_t l, xwsz_t r, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static void xwaop__xwsz_t__rsb (atomic_xwsz_t *a, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__teq_then_rsb (atomic_xwsz_t *a, xwsz_t t, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tne_then_rsb (atomic_xwsz_t *a, xwsz_t t, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tgt_then_rsb (atomic_xwsz_t *a, xwsz_t t, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tge_then_rsb (atomic_xwsz_t *a, xwsz_t t, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tlt_then_rsb (atomic_xwsz_t *a, xwsz_t t, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tle_then_rsb (atomic_xwsz_t *a, xwsz_t t, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tgtlt_then_rsb (atomic_xwsz_t *a, xwsz_t l, xwsz_t r, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tgelt_then_rsb (atomic_xwsz_t *a, xwsz_t l, xwsz_t r, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tgtle_then_rsb (atomic_xwsz_t *a, xwsz_t l, xwsz_t r, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tgele_then_rsb (atomic_xwsz_t *a, xwsz_t l, xwsz_t r, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static void xwaop__xwsz_t__or (atomic_xwsz_t *a, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static void xwaop__xwsz_t__and (atomic_xwsz_t *a, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static void xwaop__xwsz_t__xor (atomic_xwsz_t *a, xwsz_t v, xwsz_t *nv, xwsz_t *ov)
 
static void xwaop__xwsz_t__c0m (atomic_xwsz_t *a, xwsz_t m, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__t1ma_then_c0m (atomic_xwsz_t *a, xwsz_t m, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__t1mo_then_c0m (atomic_xwsz_t *a, xwsz_t m, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__t0ma_then_s1m (atomic_xwsz_t *a, xwsz_t m, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__t0mo_then_s1m (atomic_xwsz_t *a, xwsz_t m, xwsz_t *nv, xwsz_t *ov)
 
static xwer_t xwaop__xwsz_t__tst_then_op (atomic_xwsz_t *a, xwaop_tst_f tst, void *tst_args, xwaop_op_f op, void *op_args, xwsz_t *nv, xwsz_t *ov)
 
static xwssz_t xwaop__xwssz_t__load (atomic_xwssz_t *a, const enum xwaop_memory_order_em mo)
 
static xwssz_t xwaop__xwssz_t__store (atomic_xwssz_t *a, const enum xwaop_memory_order_em mo, xwssz_t v)
 
static void xwaop__xwssz_t__read (atomic_xwssz_t *a, xwssz_t *ov)
 
static void xwaop__xwssz_t__write (atomic_xwssz_t *a, xwssz_t v, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__teq_then_write (atomic_xwssz_t *a, xwssz_t t, xwssz_t v, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tne_then_write (atomic_xwssz_t *a, xwssz_t t, xwssz_t v, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tgt_then_write (atomic_xwssz_t *a, xwssz_t t, xwssz_t v, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tge_then_write (atomic_xwssz_t *a, xwssz_t t, xwssz_t v, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tlt_then_write (atomic_xwssz_t *a, xwssz_t t, xwssz_t v, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tle_then_write (atomic_xwssz_t *a, xwssz_t t, xwssz_t v, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tgtlt_then_write (atomic_xwssz_t *a, xwssz_t l, xwssz_t r, xwssz_t v, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tgelt_then_write (atomic_xwssz_t *a, xwssz_t l, xwssz_t r, xwssz_t v, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tgtle_then_write (atomic_xwssz_t *a, xwssz_t l, xwssz_t r, xwssz_t v, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tgele_then_write (atomic_xwssz_t *a, xwssz_t l, xwssz_t r, xwssz_t v, xwssz_t *ov)
 
static void xwaop__xwssz_t__add (atomic_xwssz_t *a, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__teq_then_add (atomic_xwssz_t *a, xwssz_t t, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tne_then_add (atomic_xwssz_t *a, xwssz_t t, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tgt_then_add (atomic_xwssz_t *a, xwssz_t t, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tge_then_add (atomic_xwssz_t *a, xwssz_t t, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tlt_then_add (atomic_xwssz_t *a, xwssz_t t, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tle_then_add (atomic_xwssz_t *a, xwssz_t t, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tgtlt_then_add (atomic_xwssz_t *a, xwssz_t l, xwssz_t r, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tgelt_then_add (atomic_xwssz_t *a, xwssz_t l, xwssz_t r, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tgtle_then_add (atomic_xwssz_t *a, xwssz_t l, xwssz_t r, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tgele_then_add (atomic_xwssz_t *a, xwssz_t l, xwssz_t r, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static void xwaop__xwssz_t__sub (atomic_xwssz_t *a, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__teq_then_sub (atomic_xwssz_t *a, xwssz_t t, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tne_then_sub (atomic_xwssz_t *a, xwssz_t t, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tgt_then_sub (atomic_xwssz_t *a, xwssz_t t, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tge_then_sub (atomic_xwssz_t *a, xwssz_t t, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tlt_then_sub (atomic_xwssz_t *a, xwssz_t t, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tle_then_sub (atomic_xwssz_t *a, xwssz_t t, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tgtlt_then_sub (atomic_xwssz_t *a, xwssz_t l, xwssz_t r, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tgelt_then_sub (atomic_xwssz_t *a, xwssz_t l, xwssz_t r, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tgtle_then_sub (atomic_xwssz_t *a, xwssz_t l, xwssz_t r, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tgele_then_sub (atomic_xwssz_t *a, xwssz_t l, xwssz_t r, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static void xwaop__xwssz_t__rsb (atomic_xwssz_t *a, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__teq_then_rsb (atomic_xwssz_t *a, xwssz_t t, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tne_then_rsb (atomic_xwssz_t *a, xwssz_t t, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tgt_then_rsb (atomic_xwssz_t *a, xwssz_t t, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tge_then_rsb (atomic_xwssz_t *a, xwssz_t t, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tlt_then_rsb (atomic_xwssz_t *a, xwssz_t t, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tle_then_rsb (atomic_xwssz_t *a, xwssz_t t, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tgtlt_then_rsb (atomic_xwssz_t *a, xwssz_t l, xwssz_t r, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tgelt_then_rsb (atomic_xwssz_t *a, xwssz_t l, xwssz_t r, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tgtle_then_rsb (atomic_xwssz_t *a, xwssz_t l, xwssz_t r, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tgele_then_rsb (atomic_xwssz_t *a, xwssz_t l, xwssz_t r, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static void xwaop__xwssz_t__or (atomic_xwssz_t *a, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static void xwaop__xwssz_t__and (atomic_xwssz_t *a, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static void xwaop__xwssz_t__xor (atomic_xwssz_t *a, xwssz_t v, xwssz_t *nv, xwssz_t *ov)
 
static void xwaop__xwssz_t__c0m (atomic_xwssz_t *a, xwssz_t m, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__t1ma_then_c0m (atomic_xwssz_t *a, xwssz_t m, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__t1mo_then_c0m (atomic_xwssz_t *a, xwssz_t m, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__t0ma_then_s1m (atomic_xwssz_t *a, xwssz_t m, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__t0mo_then_s1m (atomic_xwssz_t *a, xwssz_t m, xwssz_t *nv, xwssz_t *ov)
 
static xwer_t xwaop__xwssz_t__tst_then_op (atomic_xwssz_t *a, xwaop_tst_f tst, void *tst_args, xwaop_op_f op, void *op_args, xwssz_t *nv, xwssz_t *ov)
 
static xwlfq_t xwaop__xwlfq_t__load (atomic_xwlfq_t *a, const enum xwaop_memory_order_em mo)
 
static xwlfq_t xwaop__xwlfq_t__store (atomic_xwlfq_t *a, const enum xwaop_memory_order_em mo, xwlfq_t v)
 
static void xwaop__xwlfq_t__read (atomic_xwlfq_t *a, xwlfq_t *ov)
 
static void xwaop__xwlfq_t__write (atomic_xwlfq_t *a, xwlfq_t v, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__teq_then_write (atomic_xwlfq_t *a, xwlfq_t t, xwlfq_t v, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tne_then_write (atomic_xwlfq_t *a, xwlfq_t t, xwlfq_t v, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tgt_then_write (atomic_xwlfq_t *a, xwlfq_t t, xwlfq_t v, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tge_then_write (atomic_xwlfq_t *a, xwlfq_t t, xwlfq_t v, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tlt_then_write (atomic_xwlfq_t *a, xwlfq_t t, xwlfq_t v, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tle_then_write (atomic_xwlfq_t *a, xwlfq_t t, xwlfq_t v, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tgtlt_then_write (atomic_xwlfq_t *a, xwlfq_t l, xwlfq_t r, xwlfq_t v, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tgelt_then_write (atomic_xwlfq_t *a, xwlfq_t l, xwlfq_t r, xwlfq_t v, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tgtle_then_write (atomic_xwlfq_t *a, xwlfq_t l, xwlfq_t r, xwlfq_t v, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tgele_then_write (atomic_xwlfq_t *a, xwlfq_t l, xwlfq_t r, xwlfq_t v, xwlfq_t *ov)
 
static void xwaop__xwlfq_t__add (atomic_xwlfq_t *a, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__teq_then_add (atomic_xwlfq_t *a, xwlfq_t t, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tne_then_add (atomic_xwlfq_t *a, xwlfq_t t, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tgt_then_add (atomic_xwlfq_t *a, xwlfq_t t, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tge_then_add (atomic_xwlfq_t *a, xwlfq_t t, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tlt_then_add (atomic_xwlfq_t *a, xwlfq_t t, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tle_then_add (atomic_xwlfq_t *a, xwlfq_t t, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tgtlt_then_add (atomic_xwlfq_t *a, xwlfq_t l, xwlfq_t r, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tgelt_then_add (atomic_xwlfq_t *a, xwlfq_t l, xwlfq_t r, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tgtle_then_add (atomic_xwlfq_t *a, xwlfq_t l, xwlfq_t r, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tgele_then_add (atomic_xwlfq_t *a, xwlfq_t l, xwlfq_t r, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static void xwaop__xwlfq_t__sub (atomic_xwlfq_t *a, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__teq_then_sub (atomic_xwlfq_t *a, xwlfq_t t, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tne_then_sub (atomic_xwlfq_t *a, xwlfq_t t, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tgt_then_sub (atomic_xwlfq_t *a, xwlfq_t t, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tge_then_sub (atomic_xwlfq_t *a, xwlfq_t t, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tlt_then_sub (atomic_xwlfq_t *a, xwlfq_t t, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tle_then_sub (atomic_xwlfq_t *a, xwlfq_t t, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tgtlt_then_sub (atomic_xwlfq_t *a, xwlfq_t l, xwlfq_t r, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tgelt_then_sub (atomic_xwlfq_t *a, xwlfq_t l, xwlfq_t r, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tgtle_then_sub (atomic_xwlfq_t *a, xwlfq_t l, xwlfq_t r, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tgele_then_sub (atomic_xwlfq_t *a, xwlfq_t l, xwlfq_t r, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static void xwaop__xwlfq_t__rsb (atomic_xwlfq_t *a, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__teq_then_rsb (atomic_xwlfq_t *a, xwlfq_t t, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tne_then_rsb (atomic_xwlfq_t *a, xwlfq_t t, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tgt_then_rsb (atomic_xwlfq_t *a, xwlfq_t t, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tge_then_rsb (atomic_xwlfq_t *a, xwlfq_t t, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tlt_then_rsb (atomic_xwlfq_t *a, xwlfq_t t, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tle_then_rsb (atomic_xwlfq_t *a, xwlfq_t t, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tgtlt_then_rsb (atomic_xwlfq_t *a, xwlfq_t l, xwlfq_t r, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tgelt_then_rsb (atomic_xwlfq_t *a, xwlfq_t l, xwlfq_t r, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tgtle_then_rsb (atomic_xwlfq_t *a, xwlfq_t l, xwlfq_t r, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tgele_then_rsb (atomic_xwlfq_t *a, xwlfq_t l, xwlfq_t r, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static void xwaop__xwlfq_t__or (atomic_xwlfq_t *a, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static void xwaop__xwlfq_t__and (atomic_xwlfq_t *a, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static void xwaop__xwlfq_t__xor (atomic_xwlfq_t *a, xwlfq_t v, xwlfq_t *nv, xwlfq_t *ov)
 
static void xwaop__xwlfq_t__c0m (atomic_xwlfq_t *a, xwlfq_t m, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__t1ma_then_c0m (atomic_xwlfq_t *a, xwlfq_t m, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__t1mo_then_c0m (atomic_xwlfq_t *a, xwlfq_t m, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__t0ma_then_s1m (atomic_xwlfq_t *a, xwlfq_t m, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__t0mo_then_s1m (atomic_xwlfq_t *a, xwlfq_t m, xwlfq_t *nv, xwlfq_t *ov)
 
static xwer_t xwaop__xwlfq_t__tst_then_op (atomic_xwlfq_t *a, xwaop_tst_f tst, void *tst_args, xwaop_op_f op, void *op_args, xwlfq_t *nv, xwlfq_t *ov)
 
static xwptr_t xwaop__xwptr_t__load (atomic_xwptr_t *a, const enum xwaop_memory_order_em mo)
 
static xwptr_t xwaop__xwptr_t__store (atomic_xwptr_t *a, const enum xwaop_memory_order_em mo, xwptr_t v)
 
static void xwaop__xwptr_t__read (atomic_xwptr_t *a, xwptr_t *ov)
 
static void xwaop__xwptr_t__write (atomic_xwptr_t *a, xwptr_t v, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__teq_then_write (atomic_xwptr_t *a, xwptr_t t, xwptr_t v, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tne_then_write (atomic_xwptr_t *a, xwptr_t t, xwptr_t v, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tgt_then_write (atomic_xwptr_t *a, xwptr_t t, xwptr_t v, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tge_then_write (atomic_xwptr_t *a, xwptr_t t, xwptr_t v, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tlt_then_write (atomic_xwptr_t *a, xwptr_t t, xwptr_t v, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tle_then_write (atomic_xwptr_t *a, xwptr_t t, xwptr_t v, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tgtlt_then_write (atomic_xwptr_t *a, xwptr_t l, xwptr_t r, xwptr_t v, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tgelt_then_write (atomic_xwptr_t *a, xwptr_t l, xwptr_t r, xwptr_t v, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tgtle_then_write (atomic_xwptr_t *a, xwptr_t l, xwptr_t r, xwptr_t v, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tgele_then_write (atomic_xwptr_t *a, xwptr_t l, xwptr_t r, xwptr_t v, xwptr_t *ov)
 
static void xwaop__xwptr_t__add (atomic_xwptr_t *a, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__teq_then_add (atomic_xwptr_t *a, xwptr_t t, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tne_then_add (atomic_xwptr_t *a, xwptr_t t, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tgt_then_add (atomic_xwptr_t *a, xwptr_t t, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tge_then_add (atomic_xwptr_t *a, xwptr_t t, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tlt_then_add (atomic_xwptr_t *a, xwptr_t t, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tle_then_add (atomic_xwptr_t *a, xwptr_t t, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tgtlt_then_add (atomic_xwptr_t *a, xwptr_t l, xwptr_t r, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tgelt_then_add (atomic_xwptr_t *a, xwptr_t l, xwptr_t r, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tgtle_then_add (atomic_xwptr_t *a, xwptr_t l, xwptr_t r, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tgele_then_add (atomic_xwptr_t *a, xwptr_t l, xwptr_t r, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static void xwaop__xwptr_t__sub (atomic_xwptr_t *a, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__teq_then_sub (atomic_xwptr_t *a, xwptr_t t, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tne_then_sub (atomic_xwptr_t *a, xwptr_t t, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tgt_then_sub (atomic_xwptr_t *a, xwptr_t t, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tge_then_sub (atomic_xwptr_t *a, xwptr_t t, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tlt_then_sub (atomic_xwptr_t *a, xwptr_t t, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tle_then_sub (atomic_xwptr_t *a, xwptr_t t, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tgtlt_then_sub (atomic_xwptr_t *a, xwptr_t l, xwptr_t r, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tgelt_then_sub (atomic_xwptr_t *a, xwptr_t l, xwptr_t r, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tgtle_then_sub (atomic_xwptr_t *a, xwptr_t l, xwptr_t r, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tgele_then_sub (atomic_xwptr_t *a, xwptr_t l, xwptr_t r, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static void xwaop__xwptr_t__rsb (atomic_xwptr_t *a, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__teq_then_rsb (atomic_xwptr_t *a, xwptr_t t, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tne_then_rsb (atomic_xwptr_t *a, xwptr_t t, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tgt_then_rsb (atomic_xwptr_t *a, xwptr_t t, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tge_then_rsb (atomic_xwptr_t *a, xwptr_t t, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tlt_then_rsb (atomic_xwptr_t *a, xwptr_t t, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tle_then_rsb (atomic_xwptr_t *a, xwptr_t t, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tgtlt_then_rsb (atomic_xwptr_t *a, xwptr_t l, xwptr_t r, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tgelt_then_rsb (atomic_xwptr_t *a, xwptr_t l, xwptr_t r, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tgtle_then_rsb (atomic_xwptr_t *a, xwptr_t l, xwptr_t r, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tgele_then_rsb (atomic_xwptr_t *a, xwptr_t l, xwptr_t r, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static void xwaop__xwptr_t__or (atomic_xwptr_t *a, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static void xwaop__xwptr_t__and (atomic_xwptr_t *a, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static void xwaop__xwptr_t__xor (atomic_xwptr_t *a, xwptr_t v, xwptr_t *nv, xwptr_t *ov)
 
static void xwaop__xwptr_t__c0m (atomic_xwptr_t *a, xwptr_t m, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__t1ma_then_c0m (atomic_xwptr_t *a, xwptr_t m, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__t1mo_then_c0m (atomic_xwptr_t *a, xwptr_t m, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__t0ma_then_s1m (atomic_xwptr_t *a, xwptr_t m, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__t0mo_then_s1m (atomic_xwptr_t *a, xwptr_t m, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwptr_t__tst_then_op (atomic_xwptr_t *a, xwaop_tst_f tst, void *tst_args, xwaop_op_f op, void *op_args, xwptr_t *nv, xwptr_t *ov)
 
static xwer_t xwaop__xwer_t__load (atomic_xwer_t *a, const enum xwaop_memory_order_em mo)
 
static xwer_t xwaop__xwer_t__store (atomic_xwer_t *a, const enum xwaop_memory_order_em mo, xwer_t v)
 
static void xwaop__xwer_t__read (atomic_xwer_t *a, xwer_t *ov)
 
static void xwaop__xwer_t__write (atomic_xwer_t *a, xwer_t v, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__teq_then_write (atomic_xwer_t *a, xwer_t t, xwer_t v, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tne_then_write (atomic_xwer_t *a, xwer_t t, xwer_t v, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tgt_then_write (atomic_xwer_t *a, xwer_t t, xwer_t v, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tge_then_write (atomic_xwer_t *a, xwer_t t, xwer_t v, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tlt_then_write (atomic_xwer_t *a, xwer_t t, xwer_t v, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tle_then_write (atomic_xwer_t *a, xwer_t t, xwer_t v, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tgtlt_then_write (atomic_xwer_t *a, xwer_t l, xwer_t r, xwer_t v, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tgelt_then_write (atomic_xwer_t *a, xwer_t l, xwer_t r, xwer_t v, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tgtle_then_write (atomic_xwer_t *a, xwer_t l, xwer_t r, xwer_t v, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tgele_then_write (atomic_xwer_t *a, xwer_t l, xwer_t r, xwer_t v, xwer_t *ov)
 
static void xwaop__xwer_t__add (atomic_xwer_t *a, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__teq_then_add (atomic_xwer_t *a, xwer_t t, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tne_then_add (atomic_xwer_t *a, xwer_t t, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tgt_then_add (atomic_xwer_t *a, xwer_t t, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tge_then_add (atomic_xwer_t *a, xwer_t t, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tlt_then_add (atomic_xwer_t *a, xwer_t t, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tle_then_add (atomic_xwer_t *a, xwer_t t, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tgtlt_then_add (atomic_xwer_t *a, xwer_t l, xwer_t r, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tgelt_then_add (atomic_xwer_t *a, xwer_t l, xwer_t r, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tgtle_then_add (atomic_xwer_t *a, xwer_t l, xwer_t r, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tgele_then_add (atomic_xwer_t *a, xwer_t l, xwer_t r, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static void xwaop__xwer_t__sub (atomic_xwer_t *a, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__teq_then_sub (atomic_xwer_t *a, xwer_t t, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tne_then_sub (atomic_xwer_t *a, xwer_t t, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tgt_then_sub (atomic_xwer_t *a, xwer_t t, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tge_then_sub (atomic_xwer_t *a, xwer_t t, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tlt_then_sub (atomic_xwer_t *a, xwer_t t, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tle_then_sub (atomic_xwer_t *a, xwer_t t, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tgtlt_then_sub (atomic_xwer_t *a, xwer_t l, xwer_t r, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tgelt_then_sub (atomic_xwer_t *a, xwer_t l, xwer_t r, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tgtle_then_sub (atomic_xwer_t *a, xwer_t l, xwer_t r, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tgele_then_sub (atomic_xwer_t *a, xwer_t l, xwer_t r, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static void xwaop__xwer_t__rsb (atomic_xwer_t *a, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__teq_then_rsb (atomic_xwer_t *a, xwer_t t, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tne_then_rsb (atomic_xwer_t *a, xwer_t t, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tgt_then_rsb (atomic_xwer_t *a, xwer_t t, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tge_then_rsb (atomic_xwer_t *a, xwer_t t, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tlt_then_rsb (atomic_xwer_t *a, xwer_t t, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tle_then_rsb (atomic_xwer_t *a, xwer_t t, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tgtlt_then_rsb (atomic_xwer_t *a, xwer_t l, xwer_t r, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tgelt_then_rsb (atomic_xwer_t *a, xwer_t l, xwer_t r, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tgtle_then_rsb (atomic_xwer_t *a, xwer_t l, xwer_t r, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tgele_then_rsb (atomic_xwer_t *a, xwer_t l, xwer_t r, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static void xwaop__xwer_t__or (atomic_xwer_t *a, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static void xwaop__xwer_t__and (atomic_xwer_t *a, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static void xwaop__xwer_t__xor (atomic_xwer_t *a, xwer_t v, xwer_t *nv, xwer_t *ov)
 
static void xwaop__xwer_t__c0m (atomic_xwer_t *a, xwer_t m, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__t1ma_then_c0m (atomic_xwer_t *a, xwer_t m, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__t1mo_then_c0m (atomic_xwer_t *a, xwer_t m, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__t0ma_then_s1m (atomic_xwer_t *a, xwer_t m, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__t0mo_then_s1m (atomic_xwer_t *a, xwer_t m, xwer_t *nv, xwer_t *ov)
 
static xwer_t xwaop__xwer_t__tst_then_op (atomic_xwer_t *a, xwaop_tst_f tst, void *tst_args, xwaop_op_f op, void *op_args, xwer_t *nv, xwer_t *ov)
 
static xwid_t xwaop__xwid_t__load (atomic_xwid_t *a, const enum xwaop_memory_order_em mo)
 
static xwid_t xwaop__xwid_t__store (atomic_xwid_t *a, const enum xwaop_memory_order_em mo, xwid_t v)
 
static void xwaop__xwid_t__read (atomic_xwid_t *a, xwid_t *ov)
 
static void xwaop__xwid_t__write (atomic_xwid_t *a, xwid_t v, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__teq_then_write (atomic_xwid_t *a, xwid_t t, xwid_t v, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tne_then_write (atomic_xwid_t *a, xwid_t t, xwid_t v, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tgt_then_write (atomic_xwid_t *a, xwid_t t, xwid_t v, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tge_then_write (atomic_xwid_t *a, xwid_t t, xwid_t v, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tlt_then_write (atomic_xwid_t *a, xwid_t t, xwid_t v, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tle_then_write (atomic_xwid_t *a, xwid_t t, xwid_t v, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tgtlt_then_write (atomic_xwid_t *a, xwid_t l, xwid_t r, xwid_t v, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tgelt_then_write (atomic_xwid_t *a, xwid_t l, xwid_t r, xwid_t v, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tgtle_then_write (atomic_xwid_t *a, xwid_t l, xwid_t r, xwid_t v, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tgele_then_write (atomic_xwid_t *a, xwid_t l, xwid_t r, xwid_t v, xwid_t *ov)
 
static void xwaop__xwid_t__add (atomic_xwid_t *a, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__teq_then_add (atomic_xwid_t *a, xwid_t t, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tne_then_add (atomic_xwid_t *a, xwid_t t, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tgt_then_add (atomic_xwid_t *a, xwid_t t, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tge_then_add (atomic_xwid_t *a, xwid_t t, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tlt_then_add (atomic_xwid_t *a, xwid_t t, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tle_then_add (atomic_xwid_t *a, xwid_t t, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tgtlt_then_add (atomic_xwid_t *a, xwid_t l, xwid_t r, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tgelt_then_add (atomic_xwid_t *a, xwid_t l, xwid_t r, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tgtle_then_add (atomic_xwid_t *a, xwid_t l, xwid_t r, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tgele_then_add (atomic_xwid_t *a, xwid_t l, xwid_t r, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static void xwaop__xwid_t__sub (atomic_xwid_t *a, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__teq_then_sub (atomic_xwid_t *a, xwid_t t, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tne_then_sub (atomic_xwid_t *a, xwid_t t, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tgt_then_sub (atomic_xwid_t *a, xwid_t t, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tge_then_sub (atomic_xwid_t *a, xwid_t t, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tlt_then_sub (atomic_xwid_t *a, xwid_t t, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tle_then_sub (atomic_xwid_t *a, xwid_t t, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tgtlt_then_sub (atomic_xwid_t *a, xwid_t l, xwid_t r, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tgelt_then_sub (atomic_xwid_t *a, xwid_t l, xwid_t r, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tgtle_then_sub (atomic_xwid_t *a, xwid_t l, xwid_t r, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tgele_then_sub (atomic_xwid_t *a, xwid_t l, xwid_t r, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static void xwaop__xwid_t__rsb (atomic_xwid_t *a, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__teq_then_rsb (atomic_xwid_t *a, xwid_t t, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tne_then_rsb (atomic_xwid_t *a, xwid_t t, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tgt_then_rsb (atomic_xwid_t *a, xwid_t t, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tge_then_rsb (atomic_xwid_t *a, xwid_t t, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tlt_then_rsb (atomic_xwid_t *a, xwid_t t, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tle_then_rsb (atomic_xwid_t *a, xwid_t t, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tgtlt_then_rsb (atomic_xwid_t *a, xwid_t l, xwid_t r, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tgelt_then_rsb (atomic_xwid_t *a, xwid_t l, xwid_t r, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tgtle_then_rsb (atomic_xwid_t *a, xwid_t l, xwid_t r, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tgele_then_rsb (atomic_xwid_t *a, xwid_t l, xwid_t r, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static void xwaop__xwid_t__or (atomic_xwid_t *a, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static void xwaop__xwid_t__and (atomic_xwid_t *a, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static void xwaop__xwid_t__xor (atomic_xwid_t *a, xwid_t v, xwid_t *nv, xwid_t *ov)
 
static void xwaop__xwid_t__c0m (atomic_xwid_t *a, xwid_t m, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__t1ma_then_c0m (atomic_xwid_t *a, xwid_t m, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__t1mo_then_c0m (atomic_xwid_t *a, xwid_t m, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__t0ma_then_s1m (atomic_xwid_t *a, xwid_t m, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__t0mo_then_s1m (atomic_xwid_t *a, xwid_t m, xwid_t *nv, xwid_t *ov)
 
static xwer_t xwaop__xwid_t__tst_then_op (atomic_xwid_t *a, xwaop_tst_f tst, void *tst_args, xwaop_op_f op, void *op_args, xwid_t *nv, xwid_t *ov)
 
static xwsid_t xwaop__xwsid_t__load (atomic_xwsid_t *a, const enum xwaop_memory_order_em mo)
 
static xwsid_t xwaop__xwsid_t__store (atomic_xwsid_t *a, const enum xwaop_memory_order_em mo, xwsid_t v)
 
static void xwaop__xwsid_t__read (atomic_xwsid_t *a, xwsid_t *ov)
 
static void xwaop__xwsid_t__write (atomic_xwsid_t *a, xwsid_t v, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__teq_then_write (atomic_xwsid_t *a, xwsid_t t, xwsid_t v, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tne_then_write (atomic_xwsid_t *a, xwsid_t t, xwsid_t v, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tgt_then_write (atomic_xwsid_t *a, xwsid_t t, xwsid_t v, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tge_then_write (atomic_xwsid_t *a, xwsid_t t, xwsid_t v, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tlt_then_write (atomic_xwsid_t *a, xwsid_t t, xwsid_t v, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tle_then_write (atomic_xwsid_t *a, xwsid_t t, xwsid_t v, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tgtlt_then_write (atomic_xwsid_t *a, xwsid_t l, xwsid_t r, xwsid_t v, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tgelt_then_write (atomic_xwsid_t *a, xwsid_t l, xwsid_t r, xwsid_t v, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tgtle_then_write (atomic_xwsid_t *a, xwsid_t l, xwsid_t r, xwsid_t v, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tgele_then_write (atomic_xwsid_t *a, xwsid_t l, xwsid_t r, xwsid_t v, xwsid_t *ov)
 
static void xwaop__xwsid_t__add (atomic_xwsid_t *a, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__teq_then_add (atomic_xwsid_t *a, xwsid_t t, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tne_then_add (atomic_xwsid_t *a, xwsid_t t, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tgt_then_add (atomic_xwsid_t *a, xwsid_t t, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tge_then_add (atomic_xwsid_t *a, xwsid_t t, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tlt_then_add (atomic_xwsid_t *a, xwsid_t t, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tle_then_add (atomic_xwsid_t *a, xwsid_t t, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tgtlt_then_add (atomic_xwsid_t *a, xwsid_t l, xwsid_t r, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tgelt_then_add (atomic_xwsid_t *a, xwsid_t l, xwsid_t r, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tgtle_then_add (atomic_xwsid_t *a, xwsid_t l, xwsid_t r, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tgele_then_add (atomic_xwsid_t *a, xwsid_t l, xwsid_t r, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static void xwaop__xwsid_t__sub (atomic_xwsid_t *a, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__teq_then_sub (atomic_xwsid_t *a, xwsid_t t, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tne_then_sub (atomic_xwsid_t *a, xwsid_t t, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tgt_then_sub (atomic_xwsid_t *a, xwsid_t t, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tge_then_sub (atomic_xwsid_t *a, xwsid_t t, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tlt_then_sub (atomic_xwsid_t *a, xwsid_t t, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tle_then_sub (atomic_xwsid_t *a, xwsid_t t, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tgtlt_then_sub (atomic_xwsid_t *a, xwsid_t l, xwsid_t r, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tgelt_then_sub (atomic_xwsid_t *a, xwsid_t l, xwsid_t r, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tgtle_then_sub (atomic_xwsid_t *a, xwsid_t l, xwsid_t r, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tgele_then_sub (atomic_xwsid_t *a, xwsid_t l, xwsid_t r, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static void xwaop__xwsid_t__rsb (atomic_xwsid_t *a, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__teq_then_rsb (atomic_xwsid_t *a, xwsid_t t, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tne_then_rsb (atomic_xwsid_t *a, xwsid_t t, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tgt_then_rsb (atomic_xwsid_t *a, xwsid_t t, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tge_then_rsb (atomic_xwsid_t *a, xwsid_t t, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tlt_then_rsb (atomic_xwsid_t *a, xwsid_t t, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tle_then_rsb (atomic_xwsid_t *a, xwsid_t t, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tgtlt_then_rsb (atomic_xwsid_t *a, xwsid_t l, xwsid_t r, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tgelt_then_rsb (atomic_xwsid_t *a, xwsid_t l, xwsid_t r, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tgtle_then_rsb (atomic_xwsid_t *a, xwsid_t l, xwsid_t r, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tgele_then_rsb (atomic_xwsid_t *a, xwsid_t l, xwsid_t r, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static void xwaop__xwsid_t__or (atomic_xwsid_t *a, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static void xwaop__xwsid_t__and (atomic_xwsid_t *a, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static void xwaop__xwsid_t__xor (atomic_xwsid_t *a, xwsid_t v, xwsid_t *nv, xwsid_t *ov)
 
static void xwaop__xwsid_t__c0m (atomic_xwsid_t *a, xwsid_t m, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__t1ma_then_c0m (atomic_xwsid_t *a, xwsid_t m, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__t1mo_then_c0m (atomic_xwsid_t *a, xwsid_t m, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__t0ma_then_s1m (atomic_xwsid_t *a, xwsid_t m, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__t0mo_then_s1m (atomic_xwsid_t *a, xwsid_t m, xwsid_t *nv, xwsid_t *ov)
 
static xwer_t xwaop__xwsid_t__tst_then_op (atomic_xwsid_t *a, xwaop_tst_f tst, void *tst_args, xwaop_op_f op, void *op_args, xwsid_t *nv, xwsid_t *ov)
 
static xwreg_t xwaop__xwreg_t__load (atomic_xwreg_t *a, const enum xwaop_memory_order_em mo)
 
static xwreg_t xwaop__xwreg_t__store (atomic_xwreg_t *a, const enum xwaop_memory_order_em mo, xwreg_t v)
 
static void xwaop__xwreg_t__read (atomic_xwreg_t *a, xwreg_t *ov)
 
static void xwaop__xwreg_t__write (atomic_xwreg_t *a, xwreg_t v, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__teq_then_write (atomic_xwreg_t *a, xwreg_t t, xwreg_t v, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tne_then_write (atomic_xwreg_t *a, xwreg_t t, xwreg_t v, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tgt_then_write (atomic_xwreg_t *a, xwreg_t t, xwreg_t v, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tge_then_write (atomic_xwreg_t *a, xwreg_t t, xwreg_t v, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tlt_then_write (atomic_xwreg_t *a, xwreg_t t, xwreg_t v, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tle_then_write (atomic_xwreg_t *a, xwreg_t t, xwreg_t v, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tgtlt_then_write (atomic_xwreg_t *a, xwreg_t l, xwreg_t r, xwreg_t v, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tgelt_then_write (atomic_xwreg_t *a, xwreg_t l, xwreg_t r, xwreg_t v, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tgtle_then_write (atomic_xwreg_t *a, xwreg_t l, xwreg_t r, xwreg_t v, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tgele_then_write (atomic_xwreg_t *a, xwreg_t l, xwreg_t r, xwreg_t v, xwreg_t *ov)
 
static void xwaop__xwreg_t__add (atomic_xwreg_t *a, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__teq_then_add (atomic_xwreg_t *a, xwreg_t t, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tne_then_add (atomic_xwreg_t *a, xwreg_t t, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tgt_then_add (atomic_xwreg_t *a, xwreg_t t, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tge_then_add (atomic_xwreg_t *a, xwreg_t t, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tlt_then_add (atomic_xwreg_t *a, xwreg_t t, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tle_then_add (atomic_xwreg_t *a, xwreg_t t, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tgtlt_then_add (atomic_xwreg_t *a, xwreg_t l, xwreg_t r, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tgelt_then_add (atomic_xwreg_t *a, xwreg_t l, xwreg_t r, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tgtle_then_add (atomic_xwreg_t *a, xwreg_t l, xwreg_t r, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tgele_then_add (atomic_xwreg_t *a, xwreg_t l, xwreg_t r, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static void xwaop__xwreg_t__sub (atomic_xwreg_t *a, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__teq_then_sub (atomic_xwreg_t *a, xwreg_t t, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tne_then_sub (atomic_xwreg_t *a, xwreg_t t, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tgt_then_sub (atomic_xwreg_t *a, xwreg_t t, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tge_then_sub (atomic_xwreg_t *a, xwreg_t t, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tlt_then_sub (atomic_xwreg_t *a, xwreg_t t, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tle_then_sub (atomic_xwreg_t *a, xwreg_t t, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tgtlt_then_sub (atomic_xwreg_t *a, xwreg_t l, xwreg_t r, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tgelt_then_sub (atomic_xwreg_t *a, xwreg_t l, xwreg_t r, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tgtle_then_sub (atomic_xwreg_t *a, xwreg_t l, xwreg_t r, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tgele_then_sub (atomic_xwreg_t *a, xwreg_t l, xwreg_t r, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static void xwaop__xwreg_t__rsb (atomic_xwreg_t *a, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__teq_then_rsb (atomic_xwreg_t *a, xwreg_t t, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tne_then_rsb (atomic_xwreg_t *a, xwreg_t t, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tgt_then_rsb (atomic_xwreg_t *a, xwreg_t t, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tge_then_rsb (atomic_xwreg_t *a, xwreg_t t, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tlt_then_rsb (atomic_xwreg_t *a, xwreg_t t, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tle_then_rsb (atomic_xwreg_t *a, xwreg_t t, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tgtlt_then_rsb (atomic_xwreg_t *a, xwreg_t l, xwreg_t r, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tgelt_then_rsb (atomic_xwreg_t *a, xwreg_t l, xwreg_t r, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tgtle_then_rsb (atomic_xwreg_t *a, xwreg_t l, xwreg_t r, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tgele_then_rsb (atomic_xwreg_t *a, xwreg_t l, xwreg_t r, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static void xwaop__xwreg_t__or (atomic_xwreg_t *a, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static void xwaop__xwreg_t__and (atomic_xwreg_t *a, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static void xwaop__xwreg_t__xor (atomic_xwreg_t *a, xwreg_t v, xwreg_t *nv, xwreg_t *ov)
 
static void xwaop__xwreg_t__c0m (atomic_xwreg_t *a, xwreg_t m, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__t1ma_then_c0m (atomic_xwreg_t *a, xwreg_t m, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__t1mo_then_c0m (atomic_xwreg_t *a, xwreg_t m, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__t0ma_then_s1m (atomic_xwreg_t *a, xwreg_t m, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__t0mo_then_s1m (atomic_xwreg_t *a, xwreg_t m, xwreg_t *nv, xwreg_t *ov)
 
static xwer_t xwaop__xwreg_t__tst_then_op (atomic_xwreg_t *a, xwaop_tst_f tst, void *tst_args, xwaop_op_f op, void *op_args, xwreg_t *nv, xwreg_t *ov)
 
static xwsreg_t xwaop__xwsreg_t__load (atomic_xwsreg_t *a, const enum xwaop_memory_order_em mo)
 
static xwsreg_t xwaop__xwsreg_t__store (atomic_xwsreg_t *a, const enum xwaop_memory_order_em mo, xwsreg_t v)
 
static void xwaop__xwsreg_t__read (atomic_xwsreg_t *a, xwsreg_t *ov)
 
static void xwaop__xwsreg_t__write (atomic_xwsreg_t *a, xwsreg_t v, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__teq_then_write (atomic_xwsreg_t *a, xwsreg_t t, xwsreg_t v, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tne_then_write (atomic_xwsreg_t *a, xwsreg_t t, xwsreg_t v, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tgt_then_write (atomic_xwsreg_t *a, xwsreg_t t, xwsreg_t v, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tge_then_write (atomic_xwsreg_t *a, xwsreg_t t, xwsreg_t v, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tlt_then_write (atomic_xwsreg_t *a, xwsreg_t t, xwsreg_t v, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tle_then_write (atomic_xwsreg_t *a, xwsreg_t t, xwsreg_t v, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tgtlt_then_write (atomic_xwsreg_t *a, xwsreg_t l, xwsreg_t r, xwsreg_t v, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tgelt_then_write (atomic_xwsreg_t *a, xwsreg_t l, xwsreg_t r, xwsreg_t v, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tgtle_then_write (atomic_xwsreg_t *a, xwsreg_t l, xwsreg_t r, xwsreg_t v, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tgele_then_write (atomic_xwsreg_t *a, xwsreg_t l, xwsreg_t r, xwsreg_t v, xwsreg_t *ov)
 
static void xwaop__xwsreg_t__add (atomic_xwsreg_t *a, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__teq_then_add (atomic_xwsreg_t *a, xwsreg_t t, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tne_then_add (atomic_xwsreg_t *a, xwsreg_t t, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tgt_then_add (atomic_xwsreg_t *a, xwsreg_t t, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tge_then_add (atomic_xwsreg_t *a, xwsreg_t t, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tlt_then_add (atomic_xwsreg_t *a, xwsreg_t t, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tle_then_add (atomic_xwsreg_t *a, xwsreg_t t, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tgtlt_then_add (atomic_xwsreg_t *a, xwsreg_t l, xwsreg_t r, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tgelt_then_add (atomic_xwsreg_t *a, xwsreg_t l, xwsreg_t r, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tgtle_then_add (atomic_xwsreg_t *a, xwsreg_t l, xwsreg_t r, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tgele_then_add (atomic_xwsreg_t *a, xwsreg_t l, xwsreg_t r, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static void xwaop__xwsreg_t__sub (atomic_xwsreg_t *a, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__teq_then_sub (atomic_xwsreg_t *a, xwsreg_t t, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tne_then_sub (atomic_xwsreg_t *a, xwsreg_t t, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tgt_then_sub (atomic_xwsreg_t *a, xwsreg_t t, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tge_then_sub (atomic_xwsreg_t *a, xwsreg_t t, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tlt_then_sub (atomic_xwsreg_t *a, xwsreg_t t, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tle_then_sub (atomic_xwsreg_t *a, xwsreg_t t, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tgtlt_then_sub (atomic_xwsreg_t *a, xwsreg_t l, xwsreg_t r, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tgelt_then_sub (atomic_xwsreg_t *a, xwsreg_t l, xwsreg_t r, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tgtle_then_sub (atomic_xwsreg_t *a, xwsreg_t l, xwsreg_t r, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tgele_then_sub (atomic_xwsreg_t *a, xwsreg_t l, xwsreg_t r, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static void xwaop__xwsreg_t__rsb (atomic_xwsreg_t *a, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__teq_then_rsb (atomic_xwsreg_t *a, xwsreg_t t, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tne_then_rsb (atomic_xwsreg_t *a, xwsreg_t t, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tgt_then_rsb (atomic_xwsreg_t *a, xwsreg_t t, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tge_then_rsb (atomic_xwsreg_t *a, xwsreg_t t, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tlt_then_rsb (atomic_xwsreg_t *a, xwsreg_t t, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tle_then_rsb (atomic_xwsreg_t *a, xwsreg_t t, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tgtlt_then_rsb (atomic_xwsreg_t *a, xwsreg_t l, xwsreg_t r, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tgelt_then_rsb (atomic_xwsreg_t *a, xwsreg_t l, xwsreg_t r, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tgtle_then_rsb (atomic_xwsreg_t *a, xwsreg_t l, xwsreg_t r, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tgele_then_rsb (atomic_xwsreg_t *a, xwsreg_t l, xwsreg_t r, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static void xwaop__xwsreg_t__or (atomic_xwsreg_t *a, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static void xwaop__xwsreg_t__and (atomic_xwsreg_t *a, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static void xwaop__xwsreg_t__xor (atomic_xwsreg_t *a, xwsreg_t v, xwsreg_t *nv, xwsreg_t *ov)
 
static void xwaop__xwsreg_t__c0m (atomic_xwsreg_t *a, xwsreg_t m, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__t1ma_then_c0m (atomic_xwsreg_t *a, xwsreg_t m, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__t1mo_then_c0m (atomic_xwsreg_t *a, xwsreg_t m, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__t0ma_then_s1m (atomic_xwsreg_t *a, xwsreg_t m, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__t0mo_then_s1m (atomic_xwsreg_t *a, xwsreg_t m, xwsreg_t *nv, xwsreg_t *ov)
 
static xwer_t xwaop__xwsreg_t__tst_then_op (atomic_xwsreg_t *a, xwaop_tst_f tst, void *tst_args, xwaop_op_f op, void *op_args, xwsreg_t *nv, xwsreg_t *ov)
 
static xwsq_t xwaop__xwsq_t__load (atomic_xwsq_t *a, const enum xwaop_memory_order_em mo)
 
static xwsq_t xwaop__xwsq_t__store (atomic_xwsq_t *a, const enum xwaop_memory_order_em mo, xwsq_t v)
 
static void xwaop__xwsq_t__read (atomic_xwsq_t *a, xwsq_t *ov)
 
static void xwaop__xwsq_t__write (atomic_xwsq_t *a, xwsq_t v, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__teq_then_write (atomic_xwsq_t *a, xwsq_t t, xwsq_t v, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tne_then_write (atomic_xwsq_t *a, xwsq_t t, xwsq_t v, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tgt_then_write (atomic_xwsq_t *a, xwsq_t t, xwsq_t v, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tge_then_write (atomic_xwsq_t *a, xwsq_t t, xwsq_t v, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tlt_then_write (atomic_xwsq_t *a, xwsq_t t, xwsq_t v, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tle_then_write (atomic_xwsq_t *a, xwsq_t t, xwsq_t v, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tgtlt_then_write (atomic_xwsq_t *a, xwsq_t l, xwsq_t r, xwsq_t v, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tgelt_then_write (atomic_xwsq_t *a, xwsq_t l, xwsq_t r, xwsq_t v, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tgtle_then_write (atomic_xwsq_t *a, xwsq_t l, xwsq_t r, xwsq_t v, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tgele_then_write (atomic_xwsq_t *a, xwsq_t l, xwsq_t r, xwsq_t v, xwsq_t *ov)
 
static void xwaop__xwsq_t__add (atomic_xwsq_t *a, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__teq_then_add (atomic_xwsq_t *a, xwsq_t t, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tne_then_add (atomic_xwsq_t *a, xwsq_t t, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tgt_then_add (atomic_xwsq_t *a, xwsq_t t, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tge_then_add (atomic_xwsq_t *a, xwsq_t t, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tlt_then_add (atomic_xwsq_t *a, xwsq_t t, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tle_then_add (atomic_xwsq_t *a, xwsq_t t, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tgtlt_then_add (atomic_xwsq_t *a, xwsq_t l, xwsq_t r, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tgelt_then_add (atomic_xwsq_t *a, xwsq_t l, xwsq_t r, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tgtle_then_add (atomic_xwsq_t *a, xwsq_t l, xwsq_t r, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tgele_then_add (atomic_xwsq_t *a, xwsq_t l, xwsq_t r, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static void xwaop__xwsq_t__sub (atomic_xwsq_t *a, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__teq_then_sub (atomic_xwsq_t *a, xwsq_t t, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tne_then_sub (atomic_xwsq_t *a, xwsq_t t, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tgt_then_sub (atomic_xwsq_t *a, xwsq_t t, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tge_then_sub (atomic_xwsq_t *a, xwsq_t t, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tlt_then_sub (atomic_xwsq_t *a, xwsq_t t, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tle_then_sub (atomic_xwsq_t *a, xwsq_t t, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tgtlt_then_sub (atomic_xwsq_t *a, xwsq_t l, xwsq_t r, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tgelt_then_sub (atomic_xwsq_t *a, xwsq_t l, xwsq_t r, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tgtle_then_sub (atomic_xwsq_t *a, xwsq_t l, xwsq_t r, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tgele_then_sub (atomic_xwsq_t *a, xwsq_t l, xwsq_t r, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static void xwaop__xwsq_t__rsb (atomic_xwsq_t *a, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__teq_then_rsb (atomic_xwsq_t *a, xwsq_t t, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tne_then_rsb (atomic_xwsq_t *a, xwsq_t t, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tgt_then_rsb (atomic_xwsq_t *a, xwsq_t t, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tge_then_rsb (atomic_xwsq_t *a, xwsq_t t, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tlt_then_rsb (atomic_xwsq_t *a, xwsq_t t, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tle_then_rsb (atomic_xwsq_t *a, xwsq_t t, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tgtlt_then_rsb (atomic_xwsq_t *a, xwsq_t l, xwsq_t r, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tgelt_then_rsb (atomic_xwsq_t *a, xwsq_t l, xwsq_t r, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tgtle_then_rsb (atomic_xwsq_t *a, xwsq_t l, xwsq_t r, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tgele_then_rsb (atomic_xwsq_t *a, xwsq_t l, xwsq_t r, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static void xwaop__xwsq_t__or (atomic_xwsq_t *a, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static void xwaop__xwsq_t__and (atomic_xwsq_t *a, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static void xwaop__xwsq_t__xor (atomic_xwsq_t *a, xwsq_t v, xwsq_t *nv, xwsq_t *ov)
 
static void xwaop__xwsq_t__c0m (atomic_xwsq_t *a, xwsq_t m, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__t1ma_then_c0m (atomic_xwsq_t *a, xwsq_t m, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__t1mo_then_c0m (atomic_xwsq_t *a, xwsq_t m, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__t0ma_then_s1m (atomic_xwsq_t *a, xwsq_t m, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__t0mo_then_s1m (atomic_xwsq_t *a, xwsq_t m, xwsq_t *nv, xwsq_t *ov)
 
static xwer_t xwaop__xwsq_t__tst_then_op (atomic_xwsq_t *a, xwaop_tst_f tst, void *tst_args, xwaop_op_f op, void *op_args, xwsq_t *nv, xwsq_t *ov)
 
static xwssq_t xwaop__xwssq_t__load (atomic_xwssq_t *a, const enum xwaop_memory_order_em mo)
 
static xwssq_t xwaop__xwssq_t__store (atomic_xwssq_t *a, const enum xwaop_memory_order_em mo, xwssq_t v)
 
static void xwaop__xwssq_t__read (atomic_xwssq_t *a, xwssq_t *ov)
 
static void xwaop__xwssq_t__write (atomic_xwssq_t *a, xwssq_t v, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__teq_then_write (atomic_xwssq_t *a, xwssq_t t, xwssq_t v, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tne_then_write (atomic_xwssq_t *a, xwssq_t t, xwssq_t v, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tgt_then_write (atomic_xwssq_t *a, xwssq_t t, xwssq_t v, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tge_then_write (atomic_xwssq_t *a, xwssq_t t, xwssq_t v, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tlt_then_write (atomic_xwssq_t *a, xwssq_t t, xwssq_t v, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tle_then_write (atomic_xwssq_t *a, xwssq_t t, xwssq_t v, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tgtlt_then_write (atomic_xwssq_t *a, xwssq_t l, xwssq_t r, xwssq_t v, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tgelt_then_write (atomic_xwssq_t *a, xwssq_t l, xwssq_t r, xwssq_t v, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tgtle_then_write (atomic_xwssq_t *a, xwssq_t l, xwssq_t r, xwssq_t v, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tgele_then_write (atomic_xwssq_t *a, xwssq_t l, xwssq_t r, xwssq_t v, xwssq_t *ov)
 
static void xwaop__xwssq_t__add (atomic_xwssq_t *a, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__teq_then_add (atomic_xwssq_t *a, xwssq_t t, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tne_then_add (atomic_xwssq_t *a, xwssq_t t, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tgt_then_add (atomic_xwssq_t *a, xwssq_t t, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tge_then_add (atomic_xwssq_t *a, xwssq_t t, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tlt_then_add (atomic_xwssq_t *a, xwssq_t t, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tle_then_add (atomic_xwssq_t *a, xwssq_t t, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tgtlt_then_add (atomic_xwssq_t *a, xwssq_t l, xwssq_t r, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tgelt_then_add (atomic_xwssq_t *a, xwssq_t l, xwssq_t r, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tgtle_then_add (atomic_xwssq_t *a, xwssq_t l, xwssq_t r, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tgele_then_add (atomic_xwssq_t *a, xwssq_t l, xwssq_t r, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static void xwaop__xwssq_t__sub (atomic_xwssq_t *a, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__teq_then_sub (atomic_xwssq_t *a, xwssq_t t, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tne_then_sub (atomic_xwssq_t *a, xwssq_t t, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tgt_then_sub (atomic_xwssq_t *a, xwssq_t t, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tge_then_sub (atomic_xwssq_t *a, xwssq_t t, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tlt_then_sub (atomic_xwssq_t *a, xwssq_t t, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tle_then_sub (atomic_xwssq_t *a, xwssq_t t, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tgtlt_then_sub (atomic_xwssq_t *a, xwssq_t l, xwssq_t r, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tgelt_then_sub (atomic_xwssq_t *a, xwssq_t l, xwssq_t r, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tgtle_then_sub (atomic_xwssq_t *a, xwssq_t l, xwssq_t r, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tgele_then_sub (atomic_xwssq_t *a, xwssq_t l, xwssq_t r, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static void xwaop__xwssq_t__rsb (atomic_xwssq_t *a, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__teq_then_rsb (atomic_xwssq_t *a, xwssq_t t, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tne_then_rsb (atomic_xwssq_t *a, xwssq_t t, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tgt_then_rsb (atomic_xwssq_t *a, xwssq_t t, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tge_then_rsb (atomic_xwssq_t *a, xwssq_t t, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tlt_then_rsb (atomic_xwssq_t *a, xwssq_t t, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tle_then_rsb (atomic_xwssq_t *a, xwssq_t t, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tgtlt_then_rsb (atomic_xwssq_t *a, xwssq_t l, xwssq_t r, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tgelt_then_rsb (atomic_xwssq_t *a, xwssq_t l, xwssq_t r, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tgtle_then_rsb (atomic_xwssq_t *a, xwssq_t l, xwssq_t r, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tgele_then_rsb (atomic_xwssq_t *a, xwssq_t l, xwssq_t r, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static void xwaop__xwssq_t__or (atomic_xwssq_t *a, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static void xwaop__xwssq_t__and (atomic_xwssq_t *a, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static void xwaop__xwssq_t__xor (atomic_xwssq_t *a, xwssq_t v, xwssq_t *nv, xwssq_t *ov)
 
static void xwaop__xwssq_t__c0m (atomic_xwssq_t *a, xwssq_t m, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__t1ma_then_c0m (atomic_xwssq_t *a, xwssq_t m, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__t1mo_then_c0m (atomic_xwssq_t *a, xwssq_t m, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__t0ma_then_s1m (atomic_xwssq_t *a, xwssq_t m, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__t0mo_then_s1m (atomic_xwssq_t *a, xwssq_t m, xwssq_t *nv, xwssq_t *ov)
 
static xwer_t xwaop__xwssq_t__tst_then_op (atomic_xwssq_t *a, xwaop_tst_f tst, void *tst_args, xwaop_op_f op, void *op_args, xwssq_t *nv, xwssq_t *ov)
 
static xwbmp_t xwaop__xwbmp_t__load (atomic_xwbmp_t *a, const enum xwaop_memory_order_em mo)
 
static xwbmp_t xwaop__xwbmp_t__store (atomic_xwbmp_t *a, const enum xwaop_memory_order_em mo, xwbmp_t v)
 
static void xwaop__xwbmp_t__read (atomic_xwbmp_t *a, xwbmp_t *ov)
 
static void xwaop__xwbmp_t__write (atomic_xwbmp_t *a, xwbmp_t v, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__teq_then_write (atomic_xwbmp_t *a, xwbmp_t t, xwbmp_t v, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tne_then_write (atomic_xwbmp_t *a, xwbmp_t t, xwbmp_t v, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tgt_then_write (atomic_xwbmp_t *a, xwbmp_t t, xwbmp_t v, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tge_then_write (atomic_xwbmp_t *a, xwbmp_t t, xwbmp_t v, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tlt_then_write (atomic_xwbmp_t *a, xwbmp_t t, xwbmp_t v, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tle_then_write (atomic_xwbmp_t *a, xwbmp_t t, xwbmp_t v, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tgtlt_then_write (atomic_xwbmp_t *a, xwbmp_t l, xwbmp_t r, xwbmp_t v, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tgelt_then_write (atomic_xwbmp_t *a, xwbmp_t l, xwbmp_t r, xwbmp_t v, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tgtle_then_write (atomic_xwbmp_t *a, xwbmp_t l, xwbmp_t r, xwbmp_t v, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tgele_then_write (atomic_xwbmp_t *a, xwbmp_t l, xwbmp_t r, xwbmp_t v, xwbmp_t *ov)
 
static void xwaop__xwbmp_t__add (atomic_xwbmp_t *a, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__teq_then_add (atomic_xwbmp_t *a, xwbmp_t t, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tne_then_add (atomic_xwbmp_t *a, xwbmp_t t, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tgt_then_add (atomic_xwbmp_t *a, xwbmp_t t, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tge_then_add (atomic_xwbmp_t *a, xwbmp_t t, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tlt_then_add (atomic_xwbmp_t *a, xwbmp_t t, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tle_then_add (atomic_xwbmp_t *a, xwbmp_t t, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tgtlt_then_add (atomic_xwbmp_t *a, xwbmp_t l, xwbmp_t r, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tgelt_then_add (atomic_xwbmp_t *a, xwbmp_t l, xwbmp_t r, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tgtle_then_add (atomic_xwbmp_t *a, xwbmp_t l, xwbmp_t r, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tgele_then_add (atomic_xwbmp_t *a, xwbmp_t l, xwbmp_t r, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static void xwaop__xwbmp_t__sub (atomic_xwbmp_t *a, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__teq_then_sub (atomic_xwbmp_t *a, xwbmp_t t, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tne_then_sub (atomic_xwbmp_t *a, xwbmp_t t, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tgt_then_sub (atomic_xwbmp_t *a, xwbmp_t t, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tge_then_sub (atomic_xwbmp_t *a, xwbmp_t t, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tlt_then_sub (atomic_xwbmp_t *a, xwbmp_t t, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tle_then_sub (atomic_xwbmp_t *a, xwbmp_t t, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tgtlt_then_sub (atomic_xwbmp_t *a, xwbmp_t l, xwbmp_t r, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tgelt_then_sub (atomic_xwbmp_t *a, xwbmp_t l, xwbmp_t r, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tgtle_then_sub (atomic_xwbmp_t *a, xwbmp_t l, xwbmp_t r, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tgele_then_sub (atomic_xwbmp_t *a, xwbmp_t l, xwbmp_t r, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static void xwaop__xwbmp_t__rsb (atomic_xwbmp_t *a, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__teq_then_rsb (atomic_xwbmp_t *a, xwbmp_t t, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tne_then_rsb (atomic_xwbmp_t *a, xwbmp_t t, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tgt_then_rsb (atomic_xwbmp_t *a, xwbmp_t t, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tge_then_rsb (atomic_xwbmp_t *a, xwbmp_t t, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tlt_then_rsb (atomic_xwbmp_t *a, xwbmp_t t, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tle_then_rsb (atomic_xwbmp_t *a, xwbmp_t t, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tgtlt_then_rsb (atomic_xwbmp_t *a, xwbmp_t l, xwbmp_t r, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tgelt_then_rsb (atomic_xwbmp_t *a, xwbmp_t l, xwbmp_t r, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tgtle_then_rsb (atomic_xwbmp_t *a, xwbmp_t l, xwbmp_t r, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tgele_then_rsb (atomic_xwbmp_t *a, xwbmp_t l, xwbmp_t r, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static void xwaop__xwbmp_t__or (atomic_xwbmp_t *a, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static void xwaop__xwbmp_t__and (atomic_xwbmp_t *a, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static void xwaop__xwbmp_t__xor (atomic_xwbmp_t *a, xwbmp_t v, xwbmp_t *nv, xwbmp_t *ov)
 
static void xwaop__xwbmp_t__c0m (atomic_xwbmp_t *a, xwbmp_t m, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__t1ma_then_c0m (atomic_xwbmp_t *a, xwbmp_t m, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__t1mo_then_c0m (atomic_xwbmp_t *a, xwbmp_t m, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__t0ma_then_s1m (atomic_xwbmp_t *a, xwbmp_t m, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__t0mo_then_s1m (atomic_xwbmp_t *a, xwbmp_t m, xwbmp_t *nv, xwbmp_t *ov)
 
static xwer_t xwaop__xwbmp_t__tst_then_op (atomic_xwbmp_t *a, xwaop_tst_f tst, void *tst_args, xwaop_op_f op, void *op_args, xwbmp_t *nv, xwbmp_t *ov)
 
static xwtm_t xwaop__xwtm_t__load (atomic_xwtm_t *a, const enum xwaop_memory_order_em mo)
 
static xwtm_t xwaop__xwtm_t__store (atomic_xwtm_t *a, const enum xwaop_memory_order_em mo, xwtm_t v)
 
static void xwaop__xwtm_t__read (atomic_xwtm_t *a, xwtm_t *ov)
 
static void xwaop__xwtm_t__write (atomic_xwtm_t *a, xwtm_t v, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__teq_then_write (atomic_xwtm_t *a, xwtm_t t, xwtm_t v, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tne_then_write (atomic_xwtm_t *a, xwtm_t t, xwtm_t v, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tgt_then_write (atomic_xwtm_t *a, xwtm_t t, xwtm_t v, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tge_then_write (atomic_xwtm_t *a, xwtm_t t, xwtm_t v, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tlt_then_write (atomic_xwtm_t *a, xwtm_t t, xwtm_t v, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tle_then_write (atomic_xwtm_t *a, xwtm_t t, xwtm_t v, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tgtlt_then_write (atomic_xwtm_t *a, xwtm_t l, xwtm_t r, xwtm_t v, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tgelt_then_write (atomic_xwtm_t *a, xwtm_t l, xwtm_t r, xwtm_t v, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tgtle_then_write (atomic_xwtm_t *a, xwtm_t l, xwtm_t r, xwtm_t v, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tgele_then_write (atomic_xwtm_t *a, xwtm_t l, xwtm_t r, xwtm_t v, xwtm_t *ov)
 
static void xwaop__xwtm_t__add (atomic_xwtm_t *a, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__teq_then_add (atomic_xwtm_t *a, xwtm_t t, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tne_then_add (atomic_xwtm_t *a, xwtm_t t, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tgt_then_add (atomic_xwtm_t *a, xwtm_t t, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tge_then_add (atomic_xwtm_t *a, xwtm_t t, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tlt_then_add (atomic_xwtm_t *a, xwtm_t t, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tle_then_add (atomic_xwtm_t *a, xwtm_t t, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tgtlt_then_add (atomic_xwtm_t *a, xwtm_t l, xwtm_t r, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tgelt_then_add (atomic_xwtm_t *a, xwtm_t l, xwtm_t r, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tgtle_then_add (atomic_xwtm_t *a, xwtm_t l, xwtm_t r, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tgele_then_add (atomic_xwtm_t *a, xwtm_t l, xwtm_t r, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static void xwaop__xwtm_t__sub (atomic_xwtm_t *a, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__teq_then_sub (atomic_xwtm_t *a, xwtm_t t, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tne_then_sub (atomic_xwtm_t *a, xwtm_t t, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tgt_then_sub (atomic_xwtm_t *a, xwtm_t t, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tge_then_sub (atomic_xwtm_t *a, xwtm_t t, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tlt_then_sub (atomic_xwtm_t *a, xwtm_t t, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tle_then_sub (atomic_xwtm_t *a, xwtm_t t, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tgtlt_then_sub (atomic_xwtm_t *a, xwtm_t l, xwtm_t r, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tgelt_then_sub (atomic_xwtm_t *a, xwtm_t l, xwtm_t r, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tgtle_then_sub (atomic_xwtm_t *a, xwtm_t l, xwtm_t r, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tgele_then_sub (atomic_xwtm_t *a, xwtm_t l, xwtm_t r, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static void xwaop__xwtm_t__rsb (atomic_xwtm_t *a, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__teq_then_rsb (atomic_xwtm_t *a, xwtm_t t, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tne_then_rsb (atomic_xwtm_t *a, xwtm_t t, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tgt_then_rsb (atomic_xwtm_t *a, xwtm_t t, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tge_then_rsb (atomic_xwtm_t *a, xwtm_t t, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tlt_then_rsb (atomic_xwtm_t *a, xwtm_t t, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tle_then_rsb (atomic_xwtm_t *a, xwtm_t t, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tgtlt_then_rsb (atomic_xwtm_t *a, xwtm_t l, xwtm_t r, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tgelt_then_rsb (atomic_xwtm_t *a, xwtm_t l, xwtm_t r, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tgtle_then_rsb (atomic_xwtm_t *a, xwtm_t l, xwtm_t r, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tgele_then_rsb (atomic_xwtm_t *a, xwtm_t l, xwtm_t r, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static void xwaop__xwtm_t__or (atomic_xwtm_t *a, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static void xwaop__xwtm_t__and (atomic_xwtm_t *a, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static void xwaop__xwtm_t__xor (atomic_xwtm_t *a, xwtm_t v, xwtm_t *nv, xwtm_t *ov)
 
static void xwaop__xwtm_t__c0m (atomic_xwtm_t *a, xwtm_t m, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__t1ma_then_c0m (atomic_xwtm_t *a, xwtm_t m, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__t1mo_then_c0m (atomic_xwtm_t *a, xwtm_t m, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__t0ma_then_s1m (atomic_xwtm_t *a, xwtm_t m, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__t0mo_then_s1m (atomic_xwtm_t *a, xwtm_t m, xwtm_t *nv, xwtm_t *ov)
 
static xwer_t xwaop__xwtm_t__tst_then_op (atomic_xwtm_t *a, xwaop_tst_f tst, void *tst_args, xwaop_op_f op, void *op_args, xwtm_t *nv, xwtm_t *ov)
 

详细描述

宏定义说明

◆ DEFINE_XWAOP

#define DEFINE_XWAOP (   type,
  btype 
)

使用模板为某一类型定义原子操作函数集合

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h2311 行定义.

◆ DEFINE_XWAOP_ADD

#define DEFINE_XWAOP_ADD (   type,
  btype 
)
值:
static __xwlib_inline \
void xwaop__##type##__add(atomic_##type * a, \
type v, \
type * nv, type * ov) \
{ \
xwaop__##btype##__add((atomic_##btype *)a, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:add

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1574 行定义.

◆ DEFINE_XWAOP_AND

#define DEFINE_XWAOP_AND (   type,
  btype 
)
值:
static __xwlib_inline \
void xwaop__##type##__and(atomic_##type * a, \
type v, \
type * nv, type * ov) \
{ \
xwaop__##btype##__and((atomic_##btype *)a, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:and

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h2180 行定义.

◆ DEFINE_XWAOP_C0M

#define DEFINE_XWAOP_C0M (   type,
  btype 
)
值:
static __xwlib_inline \
void xwaop__##type##__c0m(atomic_##type * a, \
type m, \
type * nv, type * ov) \
{ \
xwaop__##btype##__c0m((atomic_##btype *)a, \
(btype)m, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:c0m

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h2212 行定义.

◆ DEFINE_XWAOP_LOAD

#define DEFINE_XWAOP_LOAD (   type,
  btype 
)
值:
static __xwlib_inline \
type xwaop__##type##__load(atomic_##type * a, \
const enum xwaop_memory_order_em mo) \
{ \
return (type)xwaop__##btype##__load((atomic_##btype *)a, mo); \
}
xwaop_memory_order_em
原子操作内存模型
Definition type.h:255

定义原子操作模板:load

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1339 行定义.

◆ DEFINE_XWAOP_OR

#define DEFINE_XWAOP_OR (   type,
  btype 
)
值:
static __xwlib_inline \
void xwaop__##type##__or(atomic_##type * a, \
type v, \
type * nv, type * ov) \
{ \
xwaop__##btype##__or((atomic_##btype *)a, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:or

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h2164 行定义.

◆ DEFINE_XWAOP_READ

#define DEFINE_XWAOP_READ (   type,
  btype 
)
值:
static __xwlib_inline \
void xwaop__##type##__read(atomic_##type * a, type * ov) \
{ \
xwaop__##btype##__read((atomic_##btype *)a, \
(btype *)ov); \
}

定义原子操作模板:read

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1368 行定义.

◆ DEFINE_XWAOP_RSB

#define DEFINE_XWAOP_RSB (   type,
  btype 
)
值:
static __xwlib_inline \
void xwaop__##type##__rsb(atomic_##type * a, \
type v, \
type * nv, type * ov) \
{ \
xwaop__##btype##__rsb((atomic_##btype *)a, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:rsb

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1967 行定义.

◆ DEFINE_XWAOP_STORE

#define DEFINE_XWAOP_STORE (   type,
  btype 
)
值:
static __xwlib_inline \
type xwaop__##type##__store(atomic_##type * a, \
const enum xwaop_memory_order_em mo, \
type v) \
{ \
return (type)xwaop__##btype##__store((atomic_##btype *)a, mo, (btype)v); \
}

定义原子操作模板:store

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1353 行定义.

◆ DEFINE_XWAOP_SUB

#define DEFINE_XWAOP_SUB (   type,
  btype 
)
值:
static __xwlib_inline \
void xwaop__##type##__sub(atomic_##type * a, \
type v, \
type * nv, type * ov) \
{ \
xwaop__##btype##__sub((atomic_##btype *)a, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:sub

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1770 行定义.

◆ DEFINE_XWAOP_T0MA_THEN_S1M

#define DEFINE_XWAOP_T0MA_THEN_S1M (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__t0ma_then_s1m(atomic_##type * a, \
type m, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__t0ma_then_s1m((atomic_##btype *)a, \
(btype)m, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:t0ma_then_s1m

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h2260 行定义.

◆ DEFINE_XWAOP_T0MO_THEN_S1M

#define DEFINE_XWAOP_T0MO_THEN_S1M (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__t0mo_then_s1m(atomic_##type * a, \
type m, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__t0mo_then_s1m((atomic_##btype *)a, \
(btype)m, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:t0mo_then_s1m

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h2276 行定义.

◆ DEFINE_XWAOP_T1MA_THEN_C0M

#define DEFINE_XWAOP_T1MA_THEN_C0M (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__t1ma_then_c0m(atomic_##type * a, \
type m, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__t1ma_then_c0m((atomic_##btype *)a, \
(btype)m, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:t1ma_then_c0m

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h2228 行定义.

◆ DEFINE_XWAOP_T1MO_THEN_C0M

#define DEFINE_XWAOP_T1MO_THEN_C0M (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__t1mo_then_c0m(atomic_##type * a, \
type m, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__t1mo_then_c0m((atomic_##btype *)a, \
(btype)m, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:t1mo_then_c0m

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h2244 行定义.

◆ DEFINE_XWAOP_TEQ_THEN_ADD

#define DEFINE_XWAOP_TEQ_THEN_ADD (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__teq_then_add(atomic_##type * a, \
type t, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__teq_then_add((atomic_##btype *)a, \
(btype)t, (btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:teq_then_add

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1590 行定义.

◆ DEFINE_XWAOP_TEQ_THEN_RSB

#define DEFINE_XWAOP_TEQ_THEN_RSB (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__teq_then_rsb(atomic_##type * a, \
type t, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__teq_then_rsb((atomic_##btype *)a, \
(btype)t, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:teq_then_rsb

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1983 行定义.

◆ DEFINE_XWAOP_TEQ_THEN_SUB

#define DEFINE_XWAOP_TEQ_THEN_SUB (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__teq_then_sub(atomic_##type * a, \
type t, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__teq_then_sub((atomic_##btype *)a, \
(btype)t, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:teq_then_sub

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1786 行定义.

◆ DEFINE_XWAOP_TEQ_THEN_WRITE

#define DEFINE_XWAOP_TEQ_THEN_WRITE (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__teq_then_write(atomic_##type * a, type t, type v, type * ov) \
{ \
return xwaop__##btype##__teq_then_write((atomic_##btype *)a, \
(btype)t, \
(btype)v, \
(btype *)ov); \
}

定义原子操作模板:teq_then_write

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1396 行定义.

◆ DEFINE_XWAOP_TGE_THEN_ADD

#define DEFINE_XWAOP_TGE_THEN_ADD (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tge_then_add(atomic_##type * a, \
type t, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tge_then_add((atomic_##btype *)a, \
(btype)t, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tge_then_add

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1643 行定义.

◆ DEFINE_XWAOP_TGE_THEN_RSB

#define DEFINE_XWAOP_TGE_THEN_RSB (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tge_then_rsb(atomic_##type * a, \
type t, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tge_then_rsb((atomic_##btype *)a, \
(btype)t, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tge_then_rsb

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h2037 行定义.

◆ DEFINE_XWAOP_TGE_THEN_SUB

#define DEFINE_XWAOP_TGE_THEN_SUB (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tge_then_sub(atomic_##type * a, \
type t, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tge_then_sub((atomic_##btype *)a, \
(btype)t, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tge_then_sub

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1840 行定义.

◆ DEFINE_XWAOP_TGE_THEN_WRITE

#define DEFINE_XWAOP_TGE_THEN_WRITE (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tge_then_write(atomic_##type * a, \
type t, \
type v, \
type * ov) \
{ \
return xwaop__##btype##__tge_then_write((atomic_##btype *)a, \
(btype)t, \
(btype)v, \
(btype *)ov); \
}

定义原子操作模板:tge_then_write

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1447 行定义.

◆ DEFINE_XWAOP_TGELE_THEN_ADD

#define DEFINE_XWAOP_TGELE_THEN_ADD (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tgele_then_add(atomic_##type * a, \
type l, type r, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tgele_then_add((atomic_##btype *)a, \
(btype)l, (btype)r, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tgele_then_add

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1751 行定义.

◆ DEFINE_XWAOP_TGELE_THEN_RSB

#define DEFINE_XWAOP_TGELE_THEN_RSB (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tgele_then_rsb(atomic_##type * a, \
type l, type r, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tgele_then_rsb((atomic_##btype *)a, \
(btype)l, (btype)r, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tgele_then_rsb

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h2145 行定义.

◆ DEFINE_XWAOP_TGELE_THEN_SUB

#define DEFINE_XWAOP_TGELE_THEN_SUB (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tgele_then_sub(atomic_##type * a, \
type l, type r, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tgele_then_sub((atomic_##btype *)a, \
(btype)l, (btype)r, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tgele_then_sub

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1948 行定义.

◆ DEFINE_XWAOP_TGELE_THEN_WRITE

#define DEFINE_XWAOP_TGELE_THEN_WRITE (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tgele_then_write(atomic_##type * a, \
type l, type r, \
type v, \
type * ov) \
{ \
return xwaop__##btype##__tgele_then_write((atomic_##btype *)a, \
(btype)l, (btype)r, \
(btype)v, \
(btype *)ov); \
}

定义原子操作模板:tgele_then_write

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1555 行定义.

◆ DEFINE_XWAOP_TGELT_THEN_ADD

#define DEFINE_XWAOP_TGELT_THEN_ADD (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tgelt_then_add(atomic_##type * a, \
type l, type r, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tgelt_then_add((atomic_##btype *)a, \
(btype)l, (btype)r, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tgelt_then_add

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1715 行定义.

◆ DEFINE_XWAOP_TGELT_THEN_RSB

#define DEFINE_XWAOP_TGELT_THEN_RSB (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tgelt_then_rsb(atomic_##type * a, \
type l, type r, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tgelt_then_rsb((atomic_##btype *)a, \
(btype)l, (btype)r, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tgelt_then_rsb

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h2109 行定义.

◆ DEFINE_XWAOP_TGELT_THEN_SUB

#define DEFINE_XWAOP_TGELT_THEN_SUB (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tgelt_then_sub(atomic_##type * a, \
type l, type r, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tgelt_then_sub((atomic_##btype *)a, \
(btype)l, (btype)r, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tgelt_then_sub

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1912 行定义.

◆ DEFINE_XWAOP_TGELT_THEN_WRITE

#define DEFINE_XWAOP_TGELT_THEN_WRITE (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tgelt_then_write(atomic_##type * a, \
type l, type r, \
type v, \
type * ov) \
{ \
return xwaop__##btype##__tgelt_then_write((atomic_##btype *)a, \
(btype)l, (btype)r, \
(btype)v, \
(btype *)ov); \
}

定义原子操作模板:tgelt_then_write

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1519 行定义.

◆ DEFINE_XWAOP_TGT_THEN_ADD

#define DEFINE_XWAOP_TGT_THEN_ADD (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tgt_then_add(atomic_##type * a, \
type t, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tgt_then_add((atomic_##btype *)a, \
(btype)t, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tgt_then_add

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1625 行定义.

◆ DEFINE_XWAOP_TGT_THEN_RSB

#define DEFINE_XWAOP_TGT_THEN_RSB (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tgt_then_rsb(atomic_##type * a, \
type t, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tgt_then_rsb((atomic_##btype *)a, \
(btype)t, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tgt_then_rsb

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h2019 行定义.

◆ DEFINE_XWAOP_TGT_THEN_SUB

#define DEFINE_XWAOP_TGT_THEN_SUB (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tgt_then_sub(atomic_##type * a, \
type t, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tgt_then_sub((atomic_##btype *)a, \
(btype)t, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tge_then_sub

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1822 行定义.

◆ DEFINE_XWAOP_TGT_THEN_WRITE

#define DEFINE_XWAOP_TGT_THEN_WRITE (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tgt_then_write(atomic_##type * a, \
type t, \
type v, \
type * ov) \
{ \
return xwaop__##btype##__tgt_then_write((atomic_##btype *)a, \
(btype)t, \
(btype)v, \
(btype *)ov); \
}

定义原子操作模板:tgt_then_write

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1429 行定义.

◆ DEFINE_XWAOP_TGTLE_THEN_ADD

#define DEFINE_XWAOP_TGTLE_THEN_ADD (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tgtle_then_add(atomic_##type * a, \
type l, type r, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tgtle_then_add((atomic_##btype *)a, \
(btype)l, (btype)r, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tgtle_then_add

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1733 行定义.

◆ DEFINE_XWAOP_TGTLE_THEN_RSB

#define DEFINE_XWAOP_TGTLE_THEN_RSB (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tgtle_then_rsb(atomic_##type * a, \
type l, type r, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tgtle_then_rsb((atomic_##btype *)a, \
(btype)l, (btype)r, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tgtle_then_rsb

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h2127 行定义.

◆ DEFINE_XWAOP_TGTLE_THEN_SUB

#define DEFINE_XWAOP_TGTLE_THEN_SUB (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tgtle_then_sub(atomic_##type * a, \
type l, type r, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tgtle_then_sub((atomic_##btype *)a, \
(btype)l, (btype)r, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tgtle_then_sub

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1930 行定义.

◆ DEFINE_XWAOP_TGTLE_THEN_WRITE

#define DEFINE_XWAOP_TGTLE_THEN_WRITE (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tgtle_then_write(atomic_##type * a, \
type l, type r, \
type v, \
type * ov) \
{ \
return xwaop__##btype##__tgtle_then_write((atomic_##btype *)a, \
(btype)l, (btype)r, \
(btype)v, \
(btype *)ov); \
}

定义原子操作模板:tgtle_then_write

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1537 行定义.

◆ DEFINE_XWAOP_TGTLT_THEN_ADD

#define DEFINE_XWAOP_TGTLT_THEN_ADD (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tgtlt_then_add(atomic_##type * a, \
type l, type r, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tgtlt_then_add((atomic_##btype *)a, \
(btype)l, (btype)r, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tgtlt_then_add

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1697 行定义.

◆ DEFINE_XWAOP_TGTLT_THEN_RSB

#define DEFINE_XWAOP_TGTLT_THEN_RSB (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tgtlt_then_rsb(atomic_##type * a, \
type l, type r, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tgtlt_then_rsb((atomic_##btype *)a, \
(btype)l, (btype)r, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tgtlt_then_rsb

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h2091 行定义.

◆ DEFINE_XWAOP_TGTLT_THEN_SUB

#define DEFINE_XWAOP_TGTLT_THEN_SUB (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tgtlt_then_sub(atomic_##type * a, \
type l, type r, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tgtlt_then_sub((atomic_##btype *)a, \
(btype)l, (btype)r, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tgtlt_then_sub

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1894 行定义.

◆ DEFINE_XWAOP_TGTLT_THEN_WRITE

#define DEFINE_XWAOP_TGTLT_THEN_WRITE (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tgtlt_then_write(atomic_##type * a, \
type l, type r, \
type v, \
type * ov) \
{ \
return xwaop__##btype##__tgtlt_then_write((atomic_##btype *)a, \
(btype)l, (btype)r, \
(btype)v, \
(btype *)ov); \
}

定义原子操作模板:tgtlt_then_write

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1501 行定义.

◆ DEFINE_XWAOP_TLE_THEN_ADD

#define DEFINE_XWAOP_TLE_THEN_ADD (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tle_then_add(atomic_##type * a, \
type t, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tle_then_add((atomic_##btype *)a, \
(btype)t, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tle_then_add

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1679 行定义.

◆ DEFINE_XWAOP_TLE_THEN_RSB

#define DEFINE_XWAOP_TLE_THEN_RSB (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tle_then_rsb(atomic_##type * a, \
type t, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tle_then_rsb((atomic_##btype *)a, \
(btype)t, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tle_then_rsb

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h2073 行定义.

◆ DEFINE_XWAOP_TLE_THEN_SUB

#define DEFINE_XWAOP_TLE_THEN_SUB (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tle_then_sub(atomic_##type * a, \
type t, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tle_then_sub((atomic_##btype *)a, \
(btype)t, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tle_then_sub

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1876 行定义.

◆ DEFINE_XWAOP_TLE_THEN_WRITE

#define DEFINE_XWAOP_TLE_THEN_WRITE (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tle_then_write(atomic_##type * a, \
type t, \
type v, \
type * ov) \
{ \
return xwaop__##btype##__tle_then_write((atomic_##btype *)a, \
(btype)t, \
(btype)v, \
(btype *)ov); \
}

定义原子操作模板:tle_then_write

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1483 行定义.

◆ DEFINE_XWAOP_TLT_THEN_ADD

#define DEFINE_XWAOP_TLT_THEN_ADD (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tlt_then_add(atomic_##type * a, \
type t, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tlt_then_add((atomic_##btype *)a, \
(btype)t, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tlt_then_add

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1661 行定义.

◆ DEFINE_XWAOP_TLT_THEN_RSB

#define DEFINE_XWAOP_TLT_THEN_RSB (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tlt_then_rsb(atomic_##type * a, \
type t, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tlt_then_rsb((atomic_##btype *)a, \
(btype)t, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tle_then_rsb

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h2055 行定义.

◆ DEFINE_XWAOP_TLT_THEN_SUB

#define DEFINE_XWAOP_TLT_THEN_SUB (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tlt_then_sub(atomic_##type * a, \
type t, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tlt_then_sub((atomic_##btype *)a, \
(btype)t, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tlt_then_sub

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1858 行定义.

◆ DEFINE_XWAOP_TLT_THEN_WRITE

#define DEFINE_XWAOP_TLT_THEN_WRITE (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tlt_then_write(atomic_##type * a, \
type t, \
type v, \
type * ov) \
{ \
return xwaop__##btype##__tlt_then_write((atomic_##btype *)a, \
(btype)t, \
(btype)v, \
(btype *)ov); \
}

定义原子操作模板:tlt_then_write

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1465 行定义.

◆ DEFINE_XWAOP_TNE_THEN_ADD

#define DEFINE_XWAOP_TNE_THEN_ADD (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tne_then_add(atomic_##type * a, \
type t, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tne_then_add((atomic_##btype *)a, \
(btype)t, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tne_then_add

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1607 行定义.

◆ DEFINE_XWAOP_TNE_THEN_RSB

#define DEFINE_XWAOP_TNE_THEN_RSB (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tne_then_rsb(atomic_##type * a, \
type t, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tne_then_rsb((atomic_##btype *)a, \
(btype)t, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tne_then_rsb

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h2001 行定义.

◆ DEFINE_XWAOP_TNE_THEN_SUB

#define DEFINE_XWAOP_TNE_THEN_SUB (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tne_then_sub(atomic_##type * a, \
type t, \
type v, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tne_then_sub((atomic_##btype *)a, \
(btype)t, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:tne_then_sub

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1804 行定义.

◆ DEFINE_XWAOP_TNE_THEN_WRITE

#define DEFINE_XWAOP_TNE_THEN_WRITE (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tne_then_write(atomic_##type * a, \
type t, \
type v, \
type * ov) \
{ \
return xwaop__##btype##__tne_then_write((atomic_##btype *)a, \
(btype)t, \
(btype)v, \
(btype *)ov); \
}

定义原子操作模板:tne_then_write

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1411 行定义.

◆ DEFINE_XWAOP_TST_THEN_OP

#define DEFINE_XWAOP_TST_THEN_OP (   type,
  btype 
)
值:
static __xwlib_inline \
xwer_t xwaop__##type##__tst_then_op(atomic_##type * a, \
xwaop_tst_f tst, void * tst_args, \
xwaop_op_f op, void * op_args, \
type * nv, type * ov) \
{ \
return xwaop__##btype##__tst_then_op((atomic_##btype *)a, \
tst, tst_args, \
op, op_args, \
(btype *)nv, (btype *)ov); \
}
xwer_t(* xwaop_tst_f)(const void *, void *)
原子变量测试函数指针类型
Definition type.h:240
void(* xwaop_op_f)(void *, const void *, void *)
原子变量操作函数指针类型
Definition type.h:246

定义原子操作模板:tst_then_op

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h2293 行定义.

◆ DEFINE_XWAOP_WRITE

#define DEFINE_XWAOP_WRITE (   type,
  btype 
)
值:
static __xwlib_inline \
void xwaop__##type##__write(atomic_##type * a, type v, type * ov) \
{ \
xwaop__##btype##__write((atomic_##btype *)a, \
(btype)v, \
(btype *)ov); \
}

定义原子操作模板:write

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h1382 行定义.

◆ DEFINE_XWAOP_XOR

#define DEFINE_XWAOP_XOR (   type,
  btype 
)
值:
static __xwlib_inline \
void xwaop__##type##__xor(atomic_##type * a, \
type v, \
type * nv, type * ov) \
{ \
xwaop__##btype##__xor((atomic_##btype *)a, \
(btype)v, \
(btype *)nv, (btype *)ov); \
}

定义原子操作模板:xor

参数
[in]type类型
[in]btype基础类型

在文件 xwaop.h2196 行定义.

◆ xwaop

#define xwaop (   type,
  op,
  a,
  ... 
)     xwaop__##type##__##op(a, ##__VA_ARGS__)

调用原子操作函数

参数
[in]type原子变量的类型
[in]op操作函数
[in]a原子变量指针
[in,out]...其他参数

在文件 xwaop.h68 行定义.

◆ xwaop_add

#define xwaop_add (   type,
  a,
  v,
  nv,
  ov 
)     xwaop(type, add, (a), (v), (nv), (ov))

对原子变量进行原子操作:读取-相加-回写

参数
[in]type类型
[in]a原子变量地址的指针
[in]v加数
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
注解
  • 操作:读取原子变量的值,并增加加数 v ,结果回写到原子变量中;
  • 内存序:acq_rel;
  • 结果:通过 nv 返回相加后的新值,通过 ov 返回相加前的旧值。

在文件 xwaop.h332 行定义.

◆ xwaop_and

#define xwaop_and (   type,
  a,
  v,
  nv,
  ov 
)     xwaop(type, and, (a), (v), (nv), (ov))

对原子变量进行原子操作:读取-位与操作-回写

参数
[in]type原子变量的类型
[in]a原子变量的地址
[in]v操作数
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
注解
  • 操作:读取原子变量的旧值,并和操作数 v 进行与操作,结果回写到原子变量中;
  • 内存序:acq_rel。

在文件 xwaop.h1136 行定义.

◆ xwaop_c0m

#define xwaop_c0m (   type,
  a,
  m,
  nv,
  ov 
)     xwaop(type, c0m, (a), (m), (nv), (ov))

对原子变量进行原子操作:读取-位清0操作-回写

参数
[in]type原子变量的类型
[in]a原子变量的地址
[in]m掩码位
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
注解
  • 操作:读取原子变量的旧值,并对掩码 m 覆盖的部分进行清零操作,结果回写到原子变量中;
  • 内存序:acq_rel。

在文件 xwaop.h1192 行定义.

◆ xwaop_load

#define xwaop_load (   type,
  a,
  memorder 
)     xwmoaop(type, load, (a), memorder)

对原子变量进行原子操作:加载

参数
[in]type类型
[in]a数据地址的指针
[in]memorder内存顺序
返回
原子变量的值

在文件 xwaop.h47 行定义.

◆ xwaop_or

#define xwaop_or (   type,
  a,
  v,
  nv,
  ov 
)     xwaop(type, or, (a), (v), (nv), (ov))

对原子变量进行原子操作:

参数
[in]type原子变量的类型
[in]a原子变量的地址
[in]v操作数
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
注解
  • 操作:读取原子变量的旧值,并和操作数 v 进行或操作,结果回写到原子变量中;
  • 内存序:acq_rel。

在文件 xwaop.h1150 行定义.

◆ xwaop_read

#define xwaop_read (   type,
  a,
  ov 
)     xwaop(type, read, (a), (ov))

对原子变量进行原子操作:读取

参数
[in]type类型
[in]a数据地址的指针
[out]ov指向缓冲区的指针,此缓冲区用于返回原子变量的值
注解
  • 内存序:acquire。

在文件 xwaop.h79 行定义.

◆ xwaop_rsb

#define xwaop_rsb (   type,
  a,
  v,
  nv,
  ov 
)     xwaop(type, rsb, (a), (v), (nv), (ov))

对原子变量进行原子操作:读取-反向减法-回写

参数
[in]type类型
[in]a原子变量地址的指针
[in]v被减数
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
注解
  • 操作:读取原子变量的旧值,执行反向减法,从被减数 v 中减去旧值,结果回写到原子变量中;
  • 内存序:acq_rel。

在文件 xwaop.h868 行定义.

◆ xwaop_s1m

#define xwaop_s1m (   type,
  a,
  m,
  nv,
  ov 
)     xwaop(type, or, (a), (m), (nv), (ov))

对原子变量进行原子操作:读取-位置1操作-回写

参数
[in]type原子变量的类型
[in]a原子变量的地址
[in]m掩码位
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
注解
  • 操作:读取原子变量的旧值,并对掩码 m 覆盖的部分进行置1操作,结果回写到原子变量中;
  • 内存序:acq_rel。

在文件 xwaop.h1178 行定义.

◆ xwaop_store

#define xwaop_store (   type,
  a,
  memorder,
 
)     xwmoaop(type, store, (a), memorder, (v))

对原子变量进行原子操作:存储

参数
[in]type类型
[in]a原子变量地址的指针
[in]v新值
[in]memorder内存顺序
返回
写入后,原子变量的值

在文件 xwaop.h58 行定义.

◆ xwaop_sub

#define xwaop_sub (   type,
  a,
  v,
  nv,
  ov 
)     xwaop(type, sub, (a), (v), (nv), (ov))

对原子变量进行原子操作:读取-相减-回写

参数
[in]type类型
[in]a原子变量地址的指针
[in]v减数
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
注解
  • 操作:读取原子变量的旧值,并减去减数 v ,结果回写到原子变量中;
  • 内存序:acq_rel。

在文件 xwaop.h600 行定义.

◆ xwaop_t0ma_then_s1m

#define xwaop_t0ma_then_s1m (   type,
  a,
  m,
  nv,
  ov 
)     xwaop(type, t0ma_then_s1m, (a), (m), (nv), (ov))

对原子变量进行原子操作:读取-位测试-位置1操作-回写

参数
[in]type原子变量的类型
[in]a原子变量的地址
[in]m掩码
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的旧值,并测试旧值中的掩码 m 覆盖的部分是否都为0,
    • 如果结果为真,将掩码 m 覆盖的部分全部置1,结果回写到原子变量中;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:
    • 测试成功时,通过 nv 返回原子操作后的新值,通过 ov 返回原子操作前的旧值;
    • 测试失败时,通过 nvov 同时返回旧值。

在文件 xwaop.h1279 行定义.

◆ xwaop_t0mo_then_s1m

#define xwaop_t0mo_then_s1m (   type,
  a,
  m,
  nv,
  ov 
)     xwaop(type, t0mo_then_s1m, (a), (m), (nv), (ov))

对原子变量进行原子操作:读取-位测试-位置1操作-回写

参数
[in]type原子变量的类型
[in]a原子变量的地址
[in]m掩码
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的旧值,并测试旧值中的掩码 m 覆盖的部分是否至少有一位为0,
    • 如果结果为真,将掩码 m 覆盖的部分全部置1,结果回写到原子变量中;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:
    • 测试成功时,通过 nv 返回原子操作后的新值,通过 ov 返回原子操作前的旧值;
    • 测试失败时,通过 nvov 同时返回旧值。

在文件 xwaop.h1303 行定义.

◆ xwaop_t1ma_then_c0m

#define xwaop_t1ma_then_c0m (   type,
  a,
  m,
  nv,
  ov 
)     xwaop(type, t1ma_then_c0m, (a), (m), (nv), (ov))

对原子变量进行原子操作:读取-位测试-位清零操作-回写

参数
[in]type原子变量的类型
[in]a原子变量的地址
[in]m掩码
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的旧值,并测试旧值中的掩码 m 覆盖的部分是否都为1,
    • 如果结果为真,将掩码 m 覆盖的部分全部清零,结果回写到原子变量中;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:
    • 测试成功时,通过 nv 返回原子操作后的新值,通过 ov 返回原子操作前的旧值;
    • 测试失败时,通过 nvov 同时返回旧值。

在文件 xwaop.h1231 行定义.

◆ xwaop_t1mo_then_c0m

#define xwaop_t1mo_then_c0m (   type,
  a,
  m,
  nv,
  ov 
)     xwaop(type, t1mo_then_c0m, (a), (m), (nv), (ov))

对原子变量进行原子操作:读取-位测试-位清零操作-回写

参数
[in]type原子变量的类型
[in]a原子变量的地址
[in]m掩码
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的旧值,并测试旧值中的掩码 m 覆盖的部分是否至少有一位为1,
    • 如果结果为真,将掩码 m 覆盖的部分全部清零,结果回写到原子变量中;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:
    • 测试成功时,通过 nv 返回原子操作后的新值,通过 ov 返回原子操作前的旧值;
    • 测试失败时,通过 nvov 同时返回旧值。

在文件 xwaop.h1255 行定义.

◆ xwaop_teq_then_add

#define xwaop_teq_then_add (   type,
  a,
  t,
  v,
  nv,
  ov 
)     xwaop(type, teq_then_add, (a), (t), (v), (nv), (ov))

对原子变量进行原子操作:读取-测试“相等”-相加-回写

参数
[in]type原子变量的类型
[in]a原子变量地址的指针
[in]t测试值
[in]v加数
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的旧值,并测试旧值是否等于测试值 t
    • 如果结果为真,旧值增加加数 v ,结果回写到原子变量中;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:
    • 测试成功时,通过 nv 返回原子操作后的新值,通过 ov 返回原子操作前的旧值;
    • 测试失败时,通过 nvov 同时返回旧值。

在文件 xwaop.h357 行定义.

◆ xwaop_teq_then_rsb

#define xwaop_teq_then_rsb (   type,
  a,
  t,
  v,
  nv,
  ov 
)     xwaop(type, teq_then_rsb, (a), (t), (v), (nv), (ov))

对原子变量进行原子操作:读取-测试“相等”-反向减法-回写

参数
[in]type原子变量的类型
[in]a原子变量地址的指针
[in]t测试值
[in]v被减数
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的旧值,并测试旧值是否等于测试值 t
    • 如果结果为真,执行反向减法,从被减数 v 中减去旧值,结果回写到原子变量中;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:
    • 测试成功时,通过 nv 返回原子操作后的新值,通过 ov 返回原子操作前的旧值;
    • 测试失败时,通过 nvov 同时返回旧值。

在文件 xwaop.h893 行定义.

◆ xwaop_teq_then_sub

#define xwaop_teq_then_sub (   type,
  a,
  t,
  v,
  nv,
  ov 
)     xwaop(type, teq_then_sub, (a), (t), (v), (nv), (ov))

对原子变量进行原子操作:读取-测试“相等”-相减-回写

参数
[in]type原子变量的类型
[in]a原子变量地址的指针
[in]t测试值
[in]v减数
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的旧值,并测试旧值是否等于测试值 t
    • 如果结果为真,旧值减去减数 v ,结果回写到原子变量中;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:
    • 测试成功时,通过 nv 返回原子操作后的新值,通过 ov 返回原子操作前的旧值;
    • 测试失败时,通过 nvov 同时返回旧值。

在文件 xwaop.h625 行定义.

◆ xwaop_teq_then_write

#define xwaop_teq_then_write (   type,
  a,
  t,
  v,
  ov 
)     xwaop(type, teq_then_write, (a), (t), (v), (ov))

对原子变量进行原子操作:读取-测试“相等”-写

参数
[in]type原子变量的类型
[in]a原子变量地址的指针
[in]t测试值
[in]v新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的值,并测试旧值是否等于测试值,
    • 如果结果为真,将原子变量更新为新值 v ,并返回原子变量的旧值;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:通过 ov 返回旧值。

在文件 xwaop.h115 行定义.

◆ xwaop_tge_then_add

#define xwaop_tge_then_add (   type,
  a,
  t,
  v,
  nv,
  ov 
)     xwaop(type, tge_then_add, (a), (t), (v), (nv), (ov))

对原子变量进行原子操作:读取-测试“大于等于”-相加-回写

参数
[in]type原子变量的类型
[in]a原子变量地址的指针
[in]t测试值
[in]v加数
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的旧值,并测试旧值是否大于等于测试值 t
    • 如果结果为真,旧值增加加数 v ,结果回写到原子变量中;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:
    • 测试成功时,通过 nv 返回原子操作后的新值,通过 ov 返回原子操作前的旧值;
    • 测试失败时,通过 nvov 同时返回旧值。

在文件 xwaop.h432 行定义.

◆ xwaop_tge_then_rsb

#define xwaop_tge_then_rsb (   type,
  a,
  t,
  v,
  nv,
  ov 
)     xwaop(type, tge_then_rsb, (a), (t), (v), (nv), (ov))

对原子变量进行原子操作:读取-测试“大于等于”-反向减法-回写

参数
[in]type原子变量的类型
[in]a原子变量地址的指针
[in]t测试值
[in]v被减数
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的旧值,并测试旧值是否大于等于测试值 t
    • 如果结果为真,执行反向减法,从被减数 v 中减去旧值,结果回写到原子变量中;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:
    • 测试成功时,通过 nv 返回原子操作后的新值,通过 ov 返回原子操作前的旧值;
    • 测试失败时,通过 nvov 同时返回旧值。

在文件 xwaop.h968 行定义.

◆ xwaop_tge_then_sub

#define xwaop_tge_then_sub (   type,
  a,
  t,
  v,
  nv,
  ov 
)     xwaop(type, tge_then_sub, (a), (t), (v), (nv), (ov))

对原子变量进行原子操作:读取-测试“大于等于”-相减-回写

参数
[in]type原子变量的类型
[in]a原子变量地址的指针
[in]t测试值
[in]v减数
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的旧值,并测试旧值是否大于等于测试值 t
    • 如果结果为真,旧值减去减数 v ,结果回写到原子变量中;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:
    • 测试成功时,通过 nv 返回原子操作后的新值,通过 ov 返回原子操作前的旧值;
    • 测试失败时,通过 nvov 同时返回旧值。

在文件 xwaop.h700 行定义.

◆ xwaop_tge_then_write

#define xwaop_tge_then_write (   type,
  a,
  t,
  v,
  ov 
)     xwaop(type, tge_then_write, (a), (t), (v), (ov))

对原子变量进行原子操作:读取-测试“大于等于”-写

参数
[in]type原子变量的类型
[in]a原子变量地址的指针
[in]t测试值
[in]v新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的值,并测试旧值是否大于等于测试值,
    • 如果结果为真,将原子变量更新为新值 v ,并返回原子变量的旧值;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:通过 ov 返回旧值。

在文件 xwaop.h181 行定义.

◆ xwaop_tgele_then_add

#define xwaop_tgele_then_add (   type,
  a,
  l,
  r,
  v,
  nv,
  ov 
)     xwaop(type, tgele_then_add, (a), (l), (r), (v), (nv), (ov))

对原子变量进行原子操作:读取-测试“区间”-相加-回写

参数
[in]type原子变量的类型
[in]a原子变量的地址
[in]l区间的左端点
[in]r区间的右端点
[in]v加数
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的旧值,并测试旧值是否属于区间 [l,r]
    • 如果结果为真,旧值增加加数 v ,结果回写到原子变量中;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:
    • 测试成功时,通过 nv 返回原子操作后的新值,通过 ov 返回原子操作前的旧值;
    • 测试失败时,通过 nvov 同时返回旧值。

在文件 xwaop.h586 行定义.

◆ xwaop_tgele_then_rsb

#define xwaop_tgele_then_rsb (   type,
  a,
  l,
  r,
  v,
  nv,
  ov 
)     xwaop(type, tgele_then_rsb, (a), (l), (r), (v), (nv), (ov))

对原子变量进行原子操作:读取-测试“区间”-反向减法-回写

参数
[in]type原子变量的类型
[in]a原子变量的地址
[in]l区间的左端点
[in]r区间的右端点
[in]v被减数
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的旧值,并测试旧值是否属于区间 [l,r]
    • 如果结果为真,执行反向减法,从被减数 v 中减去旧值,结果回写到原子变量中;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:
    • 测试成功时,通过 nv 返回原子操作后的新值,通过 ov 返回原子操作前的旧值;
    • 测试失败时,通过 nvov 同时返回旧值。

在文件 xwaop.h1122 行定义.

◆ xwaop_tgele_then_sub

#define xwaop_tgele_then_sub (   type,
  a,
  l,
  r,
  v,
  nv,
  ov 
)     xwaop(type, tgele_then_sub, (a), (l), (r), (v), (nv), (ov))

对原子变量进行原子操作:读取-测试“区间”-相减-回写

参数
[in]type原子变量的类型
[in]a原子变量的地址
[in]l区间的左端点
[in]r区间的右端点
[in]v减数
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的旧值,并测试旧值是否属于区间 [l,r]
    • 如果结果为真,旧值减去减数 v ,结果回写到原子变量中;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:
    • 测试成功时,通过 nv 返回原子操作后的新值,通过 ov 返回原子操作前的旧值;
    • 测试失败时,通过 nvov 同时返回旧值。

在文件 xwaop.h854 行定义.

◆ xwaop_tgele_then_write

#define xwaop_tgele_then_write (   type,
  a,
  l,
  r,
  v,
  ov 
)     xwaop(type, tgele_then_write, (a), (l), (r), (v), (ov))

对原子变量进行原子操作:读取-测试“区间”-写

参数
[in]type原子变量的类型
[in]a原子变量的地址
[in]l区间的左端点
[in]r区间的右端点
[in]v新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的值,并测试旧值是否属于区间 [l,r]
    • 如果结果为真,将原子变量更新为新值 v ,并返回原子变量的旧值;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:通过 ov 返回旧值。

在文件 xwaop.h317 行定义.

◆ xwaop_tgelt_then_add

#define xwaop_tgelt_then_add (   type,
  a,
  l,
  r,
  v,
  nv,
  ov 
)     xwaop(type, tgelt_then_add, (a), (l), (r), (v), (nv), (ov))

对原子变量进行原子操作:读取-测试“区间”-相加-回写

参数
[in]type原子变量的类型
[in]a原子变量的地址
[in]l区间的左端点
[in]r区间的右端点
[in]v加数
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的旧值,并测试旧值是否属于区间 [l,r)
    • 如果结果为真,旧值增加加数 v ,结果回写到原子变量中;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:
    • 测试成功时,通过 nv 返回原子操作后的新值,通过 ov 返回原子操作前的旧值;
    • 测试失败时,通过 nvov 同时返回旧值。

在文件 xwaop.h534 行定义.

◆ xwaop_tgelt_then_rsb

#define xwaop_tgelt_then_rsb (   type,
  a,
  l,
  r,
  v,
  nv,
  ov 
)     xwaop(type, tgelt_then_rsb, (a), (l), (r), (v), (nv), (ov))

对原子变量进行原子操作:读取-测试“区间”-反向减法-回写

参数
[in]type原子变量的类型
[in]a原子变量的地址
[in]l区间的左端点
[in]r区间的右端点
[in]v被减数
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的旧值,并测试旧值是否属于区间 [l,r)
    • 如果结果为真,执行反向减法,从被减数 v 中减去旧值,结果回写到原子变量中;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:
    • 测试成功时,通过 nv 返回原子操作后的新值,通过 ov 返回原子操作前的旧值;
    • 测试失败时,通过 nvov 同时返回旧值。

在文件 xwaop.h1070 行定义.

◆ xwaop_tgelt_then_sub

#define xwaop_tgelt_then_sub (   type,
  a,
  l,
  r,
  v,
  nv,
  ov 
)     xwaop(type, tgelt_then_sub, (a), (l), (r), (v), (nv), (ov))

对原子变量进行原子操作:读取-测试“区间”-相减-回写

参数
[in]type原子变量的类型
[in]a原子变量的地址
[in]l区间的左端点
[in]r区间的右端点
[in]v减数
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的旧值,并测试旧值是否属于区间 [l,r)
    • 如果结果为真,旧值减去减数 v ,结果回写到原子变量中;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:
    • 测试成功时,通过 nv 返回原子操作后的新值,通过 ov 返回原子操作前的旧值;
    • 测试失败时,通过 nvov 同时返回旧值。

在文件 xwaop.h802 行定义.

◆ xwaop_tgelt_then_write

#define xwaop_tgelt_then_write (   type,
  a,
  l,
  r,
  v,
  ov 
)     xwaop(type, tgelt_then_write, (a), (l), (r), (v), (ov))

对原子变量进行原子操作:读取-测试“区间”-写

参数
[in]type原子变量的类型
[in]a原子变量的地址
[in]l区间的左端点
[in]r区间的右端点
[in]v新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的值,并测试旧值是否属于区间 [l,r)
    • 如果结果为真,将原子变量更新为新值 v ,并返回原子变量的旧值;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:通过 ov 返回旧值。

在文件 xwaop.h271 行定义.

◆ xwaop_tgt_then_add

#define xwaop_tgt_then_add (   type,
  a,
  t,
  v,
  nv,
  ov 
)     xwaop(type, tgt_then_add, (a), (t), (v), (nv), (ov))

对原子变量进行原子操作:读取-测试“大于”-相加-回写

参数
[in]type原子变量的类型
[in]a原子变量地址的指针
[in]t测试值
[in]v加数
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的旧值,并测试旧值是否大于测试值 t
    • 如果结果为真,旧值增加加数 v ,结果回写到原子变量中;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:
    • 测试成功时,通过 nv 返回原子操作后的新值,通过 ov 返回原子操作前的旧值;
    • 测试失败时,通过 nvov 同时返回旧值。

在文件 xwaop.h407 行定义.

◆ xwaop_tgt_then_rsb

#define xwaop_tgt_then_rsb (   type,
  a,
  t,
  v,
  nv,
  ov 
)     xwaop(type, tgt_then_rsb, (a), (t), (v), (nv), (ov))

对原子变量进行原子操作:读取-测试“大于”-反向减法-回写

参数
[in]type原子变量的类型
[in]a原子变量地址的指针
[in]t测试值
[in]v被减数
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的旧值,并测试旧值是否大于测试值 t
    • 如果结果为真,执行反向减法,从被减数 v 中减去旧值,结果回写到原子变量中;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:
    • 测试成功时,通过 nv 返回原子操作后的新值,通过 ov 返回原子操作前的旧值;
    • 测试失败时,通过 nvov 同时返回旧值。

在文件 xwaop.h943 行定义.

◆ xwaop_tgt_then_sub

#define xwaop_tgt_then_sub (   type,
  a,
  t,
  v,
  nv,
  ov 
)     xwaop(type, tgt_then_sub, (a), (t), (v), (nv), (ov))

对原子变量进行原子操作:读取-测试“大于”-相减-回写

参数
[in]type原子变量的类型
[in]a原子变量地址的指针
[in]t测试值
[in]v减数
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的旧值,并测试旧值是否大于测试值 t
    • 如果结果为真,旧值减去减数 v ,结果回写到原子变量中;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:
    • 测试成功时,通过 nv 返回原子操作后的新值,通过 ov 返回原子操作前的旧值;
    • 测试失败时,通过 nvov 同时返回旧值。

在文件 xwaop.h675 行定义.

◆ xwaop_tgt_then_write

#define xwaop_tgt_then_write (   type,
  a,
  t,
  v,
  ov 
)     xwaop(type, tgt_then_write, (a), (t), (v), (ov))

对原子变量进行原子操作:读取-测试“大于”-写

参数
[in]type原子变量的类型
[in]a原子变量地址的指针
[in]t测试值
[in]v新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的值,并测试旧值是否大于测试值,
    • 如果结果为真,将原子变量更新为新值 v ,并返回原子变量的旧值;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:通过 ov 返回旧值。

在文件 xwaop.h159 行定义.

◆ xwaop_tgtle_then_add

#define xwaop_tgtle_then_add (   type,
  a,
  l,
  r,
  v,
  nv,
  ov 
)     xwaop(type, tgtle_then_add, (a), (l), (r), (v), (nv), (ov))

对原子变量进行原子操作:读取-测试“区间”-相加-回写

参数
[in]type原子变量的类型
[in]a原子变量的地址
[in]l区间的左端点
[in]r区间的右端点
[in]v加数
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的旧值,并测试旧值是否属于区间 (l,r]
    • 如果结果为真,旧值增加加数 v ,结果回写到原子变量中;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:
    • 测试成功时,通过 nv 返回原子操作后的新值,通过 ov 返回原子操作前的旧值;
    • 测试失败时,通过 nvov 同时返回旧值。

在文件 xwaop.h560 行定义.

◆ xwaop_tgtle_then_rsb

#define xwaop_tgtle_then_rsb (   type,
  a,
  l,
  r,
  v,
  nv,
  ov 
)     xwaop(type, tgtle_then_rsb, (a), (l), (r), (v), (nv), (ov))

对原子变量进行原子操作:读取-测试“区间”-反向减法-回写

参数
[in]type原子变量的类型
[in]a原子变量的地址
[in]l区间的左端点
[in]r区间的右端点
[in]v被减数
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的旧值,并测试旧值是否属于区间 (l,r]
    • 如果结果为真,执行反向减法,从被减数 v 中减去旧值,结果回写到原子变量中;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:
    • 测试成功时,通过 nv 返回原子操作后的新值,通过 ov 返回原子操作前的旧值;
    • 测试失败时,通过 nvov 同时返回旧值。

在文件 xwaop.h1096 行定义.

◆ xwaop_tgtle_then_sub

#define xwaop_tgtle_then_sub (   type,
  a,
  l,
  r,
  v,
  nv,
  ov 
)     xwaop(type, tgtle_then_sub, (a), (l), (r), (v), (nv), (ov))

对原子变量进行原子操作:读取-测试“区间”-相减-回写

参数
[in]type原子变量的类型
[in]a原子变量的地址
[in]l区间的左端点
[in]r区间的右端点
[in]v减数
[out]nv指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作后的新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的旧值,并测试旧值是否属于区间 (l,r]
    • 如果结果为真,旧值减去减数 v ,结果回写到原子变量中;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:
    • 测试成功时,通过 nv 返回原子操作后的新值,通过 ov 返回原子操作前的旧值;
    • 测试失败时,通过 nvov 同时返回旧值。

在文件 xwaop.h828 行定义.

◆ xwaop_tgtle_then_write

#define xwaop_tgtle_then_write (   type,
  a,
  l,
  r,
  v,
  ov 
)     xwaop(type, tgtle_then_write, (a), (l), (r), (v), (ov))

对原子变量进行原子操作:读取-测试“区间”-写

参数
[in]type原子变量的类型
[in]a原子变量的地址
[in]l区间的左端点
[in]r区间的右端点
[in]v新值
[out]ov指向缓冲区的指针,通过此缓冲区返回原子变量在原子操作前的旧值
返回
错误码
返回值
XWOK没有错误
-EACCES测试失败
注解
  • 操作:读取原子变量的值,并测试旧值是否属于区间 (l,r]
    • 如果结果为真,将原子变量更新为新值 v ,并返回原子变量的旧值;
    • 如果结果为假,返回原子变量的旧值;
  • 内存序:
    • 测试成功:acq_rel;
    • 测试失败:consume;
  • 结果:通过 ov 返回旧值。

在文件 xwaop.h294 行定义.

◆ xwaop_tgtlt_then_add

#define xwaop_tgtlt_then_add (   type,
  a,
  l,
  r,
  v,
  nv,
  ov 
)     xwaop(type, tgtlt_then_add, (a), (l), (r), (v), (nv), (ov))

对原子变量进行原子操作:读取-测试“区间”-相加-回写

参数
[in]type原子变量的类型