/*
 * Copyright (C) Huawei Technologies Co., Ltd. 2023-2024. All rights reserved.
 * SPDX-License-Identifier: MIT
 */

#ifndef VATOMIC_CONFIG_SZ_SC_H
#define VATOMIC_CONFIG_SZ_SC_H
/* !!!Warning: File generated by tmplr; DO NOT EDIT.!!! */

#include <vsync/atomic/await.h>

#if defined(VATOMIC_ENABLE_ATOMIC_SC)

    #define VATOMICSZ_READ_RLX
static inline vsize_t
vatomicsz_read_rlx(const vatomicsz_t *a)
{
    return vatomicsz_read(a);
}
    #define VATOMICSZ_READ_ACQ
static inline vsize_t
vatomicsz_read_acq(const vatomicsz_t *a)
{
    return vatomicsz_read(a);
}

    #define VATOMICSZ_WRITE_RLX
static inline void
vatomicsz_write_rlx(vatomicsz_t *a, vsize_t v)
{
    vatomicsz_write(a, v);
}
    #define VATOMICSZ_WRITE_REL
static inline void
vatomicsz_write_rel(vatomicsz_t *a, vsize_t v)
{
    vatomicsz_write(a, v);
}

    #define VATOMICSZ_XCHG_RLX
static inline vsize_t
vatomicsz_xchg_rlx(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_xchg(a, v);
}
    #define VATOMICSZ_XCHG_ACQ
static inline vsize_t
vatomicsz_xchg_acq(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_xchg(a, v);
}
    #define VATOMICSZ_XCHG_REL
static inline vsize_t
vatomicsz_xchg_rel(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_xchg(a, v);
}

    #define VATOMICSZ_CMPXCHG_RLX
static inline vsize_t
vatomicsz_cmpxchg_rlx(vatomicsz_t *a, vsize_t e, vsize_t v)
{
    return vatomicsz_cmpxchg(a, e, v);
}
    #define VATOMICSZ_CMPXCHG_ACQ
static inline vsize_t
vatomicsz_cmpxchg_acq(vatomicsz_t *a, vsize_t e, vsize_t v)
{
    return vatomicsz_cmpxchg(a, e, v);
}
    #define VATOMICSZ_CMPXCHG_REL
static inline vsize_t
vatomicsz_cmpxchg_rel(vatomicsz_t *a, vsize_t e, vsize_t v)
{
    return vatomicsz_cmpxchg(a, e, v);
}

    #define VATOMICSZ_GET_MAX_RLX
static inline vsize_t
vatomicsz_get_max_rlx(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_get_max(a, v);
}
    #define VATOMICSZ_GET_AND_RLX
static inline vsize_t
vatomicsz_get_and_rlx(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_get_and(a, v);
}
    #define VATOMICSZ_GET_OR_RLX
static inline vsize_t
vatomicsz_get_or_rlx(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_get_or(a, v);
}
    #define VATOMICSZ_GET_XOR_RLX
static inline vsize_t
vatomicsz_get_xor_rlx(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_get_xor(a, v);
}
    #define VATOMICSZ_GET_ADD_RLX
static inline vsize_t
vatomicsz_get_add_rlx(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_get_add(a, v);
}
    #define VATOMICSZ_GET_SUB_RLX
static inline vsize_t
vatomicsz_get_sub_rlx(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_get_sub(a, v);
}
    #define VATOMICSZ_MAX_GET_RLX
static inline vsize_t
vatomicsz_max_get_rlx(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_max_get(a, v);
}
    #define VATOMICSZ_AND_GET_RLX
static inline vsize_t
vatomicsz_and_get_rlx(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_and_get(a, v);
}
    #define VATOMICSZ_OR_GET_RLX
static inline vsize_t
vatomicsz_or_get_rlx(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_or_get(a, v);
}
    #define VATOMICSZ_XOR_GET_RLX
static inline vsize_t
vatomicsz_xor_get_rlx(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_xor_get(a, v);
}
    #define VATOMICSZ_ADD_GET_RLX
static inline vsize_t
vatomicsz_add_get_rlx(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_add_get(a, v);
}
    #define VATOMICSZ_SUB_GET_RLX
static inline vsize_t
vatomicsz_sub_get_rlx(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_sub_get(a, v);
}
    #define VATOMICSZ_GET_MAX_ACQ
static inline vsize_t
vatomicsz_get_max_acq(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_get_max(a, v);
}
    #define VATOMICSZ_GET_AND_ACQ
static inline vsize_t
vatomicsz_get_and_acq(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_get_and(a, v);
}
    #define VATOMICSZ_GET_OR_ACQ
static inline vsize_t
vatomicsz_get_or_acq(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_get_or(a, v);
}
    #define VATOMICSZ_GET_XOR_ACQ
static inline vsize_t
vatomicsz_get_xor_acq(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_get_xor(a, v);
}
    #define VATOMICSZ_GET_ADD_ACQ
static inline vsize_t
vatomicsz_get_add_acq(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_get_add(a, v);
}
    #define VATOMICSZ_GET_SUB_ACQ
static inline vsize_t
vatomicsz_get_sub_acq(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_get_sub(a, v);
}
    #define VATOMICSZ_MAX_GET_ACQ
static inline vsize_t
vatomicsz_max_get_acq(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_max_get(a, v);
}
    #define VATOMICSZ_AND_GET_ACQ
static inline vsize_t
vatomicsz_and_get_acq(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_and_get(a, v);
}
    #define VATOMICSZ_OR_GET_ACQ
static inline vsize_t
vatomicsz_or_get_acq(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_or_get(a, v);
}
    #define VATOMICSZ_XOR_GET_ACQ
static inline vsize_t
vatomicsz_xor_get_acq(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_xor_get(a, v);
}
    #define VATOMICSZ_ADD_GET_ACQ
static inline vsize_t
vatomicsz_add_get_acq(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_add_get(a, v);
}
    #define VATOMICSZ_SUB_GET_ACQ
static inline vsize_t
vatomicsz_sub_get_acq(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_sub_get(a, v);
}
    #define VATOMICSZ_GET_MAX_REL
static inline vsize_t
vatomicsz_get_max_rel(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_get_max(a, v);
}
    #define VATOMICSZ_GET_AND_REL
static inline vsize_t
vatomicsz_get_and_rel(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_get_and(a, v);
}
    #define VATOMICSZ_GET_OR_REL
static inline vsize_t
vatomicsz_get_or_rel(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_get_or(a, v);
}
    #define VATOMICSZ_GET_XOR_REL
static inline vsize_t
vatomicsz_get_xor_rel(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_get_xor(a, v);
}
    #define VATOMICSZ_GET_ADD_REL
static inline vsize_t
vatomicsz_get_add_rel(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_get_add(a, v);
}
    #define VATOMICSZ_GET_SUB_REL
static inline vsize_t
vatomicsz_get_sub_rel(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_get_sub(a, v);
}
    #define VATOMICSZ_MAX_GET_REL
static inline vsize_t
vatomicsz_max_get_rel(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_max_get(a, v);
}
    #define VATOMICSZ_AND_GET_REL
static inline vsize_t
vatomicsz_and_get_rel(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_and_get(a, v);
}
    #define VATOMICSZ_OR_GET_REL
static inline vsize_t
vatomicsz_or_get_rel(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_or_get(a, v);
}
    #define VATOMICSZ_XOR_GET_REL
static inline vsize_t
vatomicsz_xor_get_rel(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_xor_get(a, v);
}
    #define VATOMICSZ_ADD_GET_REL
static inline vsize_t
vatomicsz_add_get_rel(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_add_get(a, v);
}
    #define VATOMICSZ_SUB_GET_REL
static inline vsize_t
vatomicsz_sub_get_rel(vatomicsz_t *a, vsize_t v)
{
    return vatomicsz_sub_get(a, v);
}

    #define VATOMICSZ_GET_INC_RLX
static inline vsize_t
vatomicsz_get_inc_rlx(vatomicsz_t *a)
{
    return vatomicsz_get_inc(a);
}
    #define VATOMICSZ_INC_GET_RLX
static inline vsize_t
vatomicsz_inc_get_rlx(vatomicsz_t *a)
{
    return vatomicsz_inc_get(a);
}
    #define VATOMICSZ_GET_DEC_RLX
static inline vsize_t
vatomicsz_get_dec_rlx(vatomicsz_t *a)
{
    return vatomicsz_get_dec(a);
}
    #define VATOMICSZ_DEC_GET_RLX
static inline vsize_t
vatomicsz_dec_get_rlx(vatomicsz_t *a)
{
    return vatomicsz_dec_get(a);
}
    #define VATOMICSZ_GET_INC_ACQ
static inline vsize_t
vatomicsz_get_inc_acq(vatomicsz_t *a)
{
    return vatomicsz_get_inc(a);
}
    #define VATOMICSZ_INC_GET_ACQ
static inline vsize_t
vatomicsz_inc_get_acq(vatomicsz_t *a)
{
    return vatomicsz_inc_get(a);
}
    #define VATOMICSZ_GET_DEC_ACQ
static inline vsize_t
vatomicsz_get_dec_acq(vatomicsz_t *a)
{
    return vatomicsz_get_dec(a);
}
    #define VATOMICSZ_DEC_GET_ACQ
static inline vsize_t
vatomicsz_dec_get_acq(vatomicsz_t *a)
{
    return vatomicsz_dec_get(a);
}
    #define VATOMICSZ_GET_INC_REL
static inline vsize_t
vatomicsz_get_inc_rel(vatomicsz_t *a)
{
    return vatomicsz_get_inc(a);
}
    #define VATOMICSZ_INC_GET_REL
static inline vsize_t
vatomicsz_inc_get_rel(vatomicsz_t *a)
{
    return vatomicsz_inc_get(a);
}
    #define VATOMICSZ_GET_DEC_REL
static inline vsize_t
vatomicsz_get_dec_rel(vatomicsz_t *a)
{
    return vatomicsz_get_dec(a);
}
    #define VATOMICSZ_DEC_GET_REL
static inline vsize_t
vatomicsz_dec_get_rel(vatomicsz_t *a)
{
    return vatomicsz_dec_get(a);
}

    #define VATOMICSZ_MAX_RLX
static inline void
vatomicsz_max_rlx(vatomicsz_t *a, vsize_t v)
{
    vatomicsz_max(a, v);
}
    #define VATOMICSZ_AND_RLX
static inline void
vatomicsz_and_rlx(vatomicsz_t *a, vsize_t v)
{
    vatomicsz_and(a, v);
}
    #define VATOMICSZ_OR_RLX
static inline void
vatomicsz_or_rlx(vatomicsz_t *a, vsize_t v)
{
    vatomicsz_or(a, v);
}
    #define VATOMICSZ_XOR_RLX
static inline void
vatomicsz_xor_rlx(vatomicsz_t *a, vsize_t v)
{
    vatomicsz_xor(a, v);
}
    #define VATOMICSZ_ADD_RLX
static inline void
vatomicsz_add_rlx(vatomicsz_t *a, vsize_t v)
{
    vatomicsz_add(a, v);
}
    #define VATOMICSZ_SUB_RLX
static inline void
vatomicsz_sub_rlx(vatomicsz_t *a, vsize_t v)
{
    vatomicsz_sub(a, v);
}
    #define VATOMICSZ_MAX_REL
static inline void
vatomicsz_max_rel(vatomicsz_t *a, vsize_t v)
{
    vatomicsz_max(a, v);
}
    #define VATOMICSZ_AND_REL
static inline void
vatomicsz_and_rel(vatomicsz_t *a, vsize_t v)
{
    vatomicsz_and(a, v);
}
    #define VATOMICSZ_OR_REL
static inline void
vatomicsz_or_rel(vatomicsz_t *a, vsize_t v)
{
    vatomicsz_or(a, v);
}
    #define VATOMICSZ_XOR_REL
static inline void
vatomicsz_xor_rel(vatomicsz_t *a, vsize_t v)
{
    vatomicsz_xor(a, v);
}
    #define VATOMICSZ_ADD_REL
static inline void
vatomicsz_add_rel(vatomicsz_t *a, vsize_t v)
{
    vatomicsz_add(a, v);
}
    #define VATOMICSZ_SUB_REL
static inline void
vatomicsz_sub_rel(vatomicsz_t *a, vsize_t v)
{
    vatomicsz_sub(a, v);
}

    #define VATOMICSZ_INC_RLX
static inline void
vatomicsz_inc_rlx(vatomicsz_t *a)
{
    vatomicsz_inc(a);
}
    #define VATOMICSZ_DEC_RLX
static inline void
vatomicsz_dec_rlx(vatomicsz_t *a)
{
    vatomicsz_dec(a);
}
    #define VATOMICSZ_INC_REL
static inline void
vatomicsz_inc_rel(vatomicsz_t *a)
{
    vatomicsz_inc(a);
}
    #define VATOMICSZ_DEC_REL
static inline void
vatomicsz_dec_rel(vatomicsz_t *a)
{
    vatomicsz_dec(a);
}

#endif
#endif
