From: Karl Meakin <[email protected]>

Define `DEF_SVE_TYPE_SUFFIX` in terms of `DEF_SVE_NEON_TYPE_SUFFIX` so
callers only need to define `DEF_SVE_NEON_TYPE_SUFFIX` when including
`aarch64-sve-builtins.def`.

gcc/ChangeLog:

        * config/aarch64/aarch64-sve-builtins.def (DEF_SVE_TYPE_SUFFIX): Define
        in terms of `DEF_SVE_NEON_TYPE_SUFFIX`.
        * config/aarch64/aarch64-sve-builtins.cc (DEF_SVE_TYPE_SUFFIX): Delete
        since it is now defined in terms of `DEF_SVE_NEON_TYPE_SUFFIX`.
        (DEF_SVE_NEON_TYPE_SUFFIX): Move to be next to `DEF_SVE_TYPE_SUFFIX`.
        * config/aarch64/aarch64-sve-builtins.h (DEF_SVE_TYPE_SUFFIX): Rename 
to ...
        (DEF_SVE_NEON_TYPE_SUFFIX): ... here.
---
 gcc/config/aarch64/aarch64-sve-builtins.cc  |  3 ---
 gcc/config/aarch64/aarch64-sve-builtins.def | 19 ++++++++-----------
 gcc/config/aarch64/aarch64-sve-builtins.h   |  3 ++-
 3 files changed, 10 insertions(+), 15 deletions(-)

diff --git a/gcc/config/aarch64/aarch64-sve-builtins.cc b/gcc/config/aarch64/aarch64-sve-builtins.cc
index dbd80cab627c..ef0a047d970c 100644
--- a/gcc/config/aarch64/aarch64-sve-builtins.cc
+++ b/gcc/config/aarch64/aarch64-sve-builtins.cc
@@ -149,9 +149,6 @@ CONSTEXPR const type_suffix_info type_suffixes[NUM_TYPE_SUFFIXES + 1] = {
     MODE, \
     NEON64, \
     NEON128 },
-#define DEF_SVE_TYPE_SUFFIX(NAME, ACLE_TYPE, CLASS, BITS, MODE) \
-  DEF_SVE_NEON_TYPE_SUFFIX (NAME, ACLE_TYPE, CLASS, BITS, MODE, \
-			    ARM_NEON_H_TYPES_LAST, ARM_NEON_H_TYPES_LAST)
 #define DEF_SME_ZA_SUFFIX(NAME, BITS, MODE) \
   { "_" #NAME, \
     NUM_VECTOR_TYPES, \
diff --git a/gcc/config/aarch64/aarch64-sve-builtins.def b/gcc/config/aarch64/aarch64-sve-builtins.def
index b4af21ee5140..5340205a36f6 100644
--- a/gcc/config/aarch64/aarch64-sve-builtins.def
+++ b/gcc/config/aarch64/aarch64-sve-builtins.def
@@ -31,10 +31,16 @@
 
 /* Define an SVE type suffix.
    See the fields in `type_suffix_info` for the meaning of each argument.  */
-#ifndef DEF_SVE_TYPE_SUFFIX
-#define DEF_SVE_TYPE_SUFFIX(NAME, ACLE_TYPE, CLASS, BITS, MODE)
+#ifndef DEF_SVE_NEON_TYPE_SUFFIX
+#define DEF_SVE_NEON_TYPE_SUFFIX(NAME, ACLE_TYPE, CLASS, BITS, MODE, \
+				 NEON64, NEON128)
 #endif
 
+/* Same as `DEF_SVE_NEON_TYPE_SUFFIX`, but with NEON64 and NEON128 = LAST.  */
+#define DEF_SVE_TYPE_SUFFIX(NAME, ACLE_TYPE, CLASS, BITS, MODE) \
+  DEF_SVE_NEON_TYPE_SUFFIX (NAME, ACLE_TYPE, CLASS, BITS, MODE, \
+			    ARM_NEON_H_TYPES_LAST, ARM_NEON_H_TYPES_LAST)
+
 /* Define an SME ZA type suffix.
    See the fields in `type_suffix_info` for the meaning of each argument.  */
 #ifndef DEF_SME_ZA_SUFFIX
@@ -59,15 +65,6 @@
    DEF_SVE_FUNCTION_GS_FPM (NAME, SHAPE, TYPES, GROUPS, PREDS, unused)
 #endif
 
-/* Define an SVE type suffix, with associated 64-bit and 128-bit types for
-   compatability with Neon.
-   See the fields in `type_suffix_info` for the meaning of each argument.  */
-#ifndef DEF_SVE_NEON_TYPE_SUFFIX
-#define DEF_SVE_NEON_TYPE_SUFFIX(NAME, ACLE_TYPE, CLASS, BITS, MODE, NEON64,  \
-								     NEON128) \
-	    DEF_SVE_TYPE_SUFFIX (NAME, ACLE_TYPE, CLASS, BITS, MODE)
-#endif
-
 /* Same as `DEF_SVE_FUNCTION_GS` above, but with GROUPS = none.  */
 #ifndef DEF_SVE_FUNCTION
 #define DEF_SVE_FUNCTION(NAME, SHAPE, TYPES,       PREDS) \
diff --git a/gcc/config/aarch64/aarch64-sve-builtins.h b/gcc/config/aarch64/aarch64-sve-builtins.h
index 3e5052b2398d..feef10a8764e 100644
--- a/gcc/config/aarch64/aarch64-sve-builtins.h
+++ b/gcc/config/aarch64/aarch64-sve-builtins.h
@@ -208,7 +208,8 @@ enum mode_suffix_index
    element size.  */
 enum type_suffix_index
 {
-#define DEF_SVE_TYPE_SUFFIX(NAME, ACLE_TYPE, CLASS, BITS, MODE) \
+#define DEF_SVE_NEON_TYPE_SUFFIX(NAME, ACLE_TYPE, CLASS, BITS, MODE, \
+				 NEON64, NEON128)		     \
   TYPE_SUFFIX_ ## NAME,
 #define DEF_SME_ZA_SUFFIX(NAME, BITS, MODE) \
   TYPE_SUFFIX_ ## NAME,

Reply via email to