git: 8d79e06f468e - stable/13 - Add the char and short atomic operations on arm64

From: Andrew Turner <andrew_at_FreeBSD.org>
Date: Mon, 04 Apr 2022 11:05:56 UTC
The branch stable/13 has been updated by andrew:

URL: https://cgit.FreeBSD.org/src/commit/?id=8d79e06f468e7a6860196fecdf0ee6a0996956bd

commit 8d79e06f468e7a6860196fecdf0ee6a0996956bd
Author:     Andrew Turner <andrew@FreeBSD.org>
AuthorDate: 2022-01-12 15:44:36 +0000
Commit:     Andrew Turner <andrew@FreeBSD.org>
CommitDate: 2022-04-04 09:37:05 +0000

    Add the char and short atomic operations on arm64
    
    Sponsored by:   The FreeBSD Foundation
    
    (cherry picked from commit ec1ecf78ae8accf93e3d3ac585ea4b24711d716d)
---
 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