diff options
author | Andrew Turner <andrew@FreeBSD.org> | 2022-01-12 15:44:36 +0000 |
---|---|---|
committer | Andrew Turner <andrew@FreeBSD.org> | 2022-02-23 14:45:28 +0000 |
commit | ec1ecf78ae8accf93e3d3ac585ea4b24711d716d (patch) | |
tree | 386034b25f0b21a389c8f2e47ca410bed4b585f3 /sys | |
parent | f34560385c730c8b1db4f46a9c711a60511864bf (diff) | |
download | src-ec1ecf78ae8accf93e3d3ac585ea4b24711d716d.tar.gz src-ec1ecf78ae8accf93e3d3ac585ea4b24711d716d.zip |
Add the char and short atomic operations on arm64
Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'sys')
-rw-r--r-- | sys/arm64/include/atomic.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/sys/arm64/include/atomic.h b/sys/arm64/include/atomic.h index fe15b14181b4..415322f2a010 100644 --- a/sys/arm64/include/atomic.h +++ b/sys/arm64/include/atomic.h @@ -495,6 +495,64 @@ _ATOMIC_STORE_REL_IMPL(16, w, h) _ATOMIC_STORE_REL_IMPL(32, w, ) _ATOMIC_STORE_REL_IMPL(64, , ) +#define atomic_add_char atomic_add_8 +#define atomic_fcmpset_char atomic_fcmpset_8 +#define atomic_clear_char atomic_clear_8 +#define atomic_cmpset_char atomic_cmpset_8 +#define atomic_fetchadd_char atomic_fetchadd_8 +#define atomic_readandclear_char atomic_readandclear_8 +#define atomic_set_char atomic_set_8 +#define atomic_swap_char atomic_swap_8 +#define atomic_subtract_char atomic_subtract_8 +#define atomic_testandclear_char atomic_testandclear_8 +#define atomic_testandset_char atomic_testandset_8 + +#define atomic_add_acq_char atomic_add_acq_8 +#define atomic_fcmpset_acq_char atomic_fcmpset_acq_8 +#define atomic_clear_acq_char atomic_clear_acq_8 +#define atomic_cmpset_acq_char atomic_cmpset_acq_8 +#define atomic_load_acq_char atomic_load_acq_8 +#define atomic_set_acq_char atomic_set_acq_8 +#define atomic_subtract_acq_char atomic_subtract_acq_8 +#define atomic_testandset_acq_char atomic_testandset_acq_8 + +#define atomic_add_rel_char atomic_add_rel_8 +#define atomic_fcmpset_rel_char atomic_fcmpset_rel_8 +#define atomic_clear_rel_char atomic_clear_rel_8 +#define atomic_cmpset_rel_char atomic_cmpset_rel_8 +#define atomic_set_rel_char atomic_set_rel_8 +#define atomic_subtract_rel_char atomic_subtract_rel_8 +#define atomic_store_rel_char atomic_store_rel_8 + +#define atomic_add_short atomic_add_16 +#define atomic_fcmpset_short atomic_fcmpset_16 +#define atomic_clear_short atomic_clear_16 +#define atomic_cmpset_short atomic_cmpset_16 +#define atomic_fetchadd_short atomic_fetchadd_16 +#define atomic_readandclear_short atomic_readandclear_16 +#define atomic_set_short atomic_set_16 +#define atomic_swap_short atomic_swap_16 +#define atomic_subtract_short atomic_subtract_16 +#define atomic_testandclear_short atomic_testandclear_16 +#define atomic_testandset_short atomic_testandset_16 + +#define atomic_add_acq_short atomic_add_acq_16 +#define atomic_fcmpset_acq_short atomic_fcmpset_acq_16 +#define atomic_clear_acq_short atomic_clear_acq_16 +#define atomic_cmpset_acq_short atomic_cmpset_acq_16 +#define atomic_load_acq_short atomic_load_acq_16 +#define atomic_set_acq_short atomic_set_acq_16 +#define atomic_subtract_acq_short atomic_subtract_acq_16 +#define atomic_testandset_acq_short atomic_testandset_acq_16 + +#define atomic_add_rel_short atomic_add_rel_16 +#define atomic_fcmpset_rel_short atomic_fcmpset_rel_16 +#define atomic_clear_rel_short atomic_clear_rel_16 +#define atomic_cmpset_rel_short atomic_cmpset_rel_16 +#define atomic_set_rel_short atomic_set_rel_16 +#define atomic_subtract_rel_short atomic_subtract_rel_16 +#define atomic_store_rel_short atomic_store_rel_16 + #define atomic_add_int atomic_add_32 #define atomic_fcmpset_int atomic_fcmpset_32 #define atomic_clear_int atomic_clear_32 |