git: ec1ecf78ae8a - main - Add the char and short atomic operations on arm64
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 23 Feb 2022 14:46:19 UTC
The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=ec1ecf78ae8accf93e3d3ac585ea4b24711d716d commit ec1ecf78ae8accf93e3d3ac585ea4b24711d716d Author: Andrew Turner <andrew@FreeBSD.org> AuthorDate: 2022-01-12 15:44:36 +0000 Commit: Andrew Turner <andrew@FreeBSD.org> CommitDate: 2022-02-23 14:45:28 +0000 Add the char and short atomic operations on arm64 Sponsored by: The FreeBSD Foundation --- sys/arm64/include/atomic.h | 58 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) 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