]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
aarch64: Use variadic arguments
authorKarl Meakin <karl.meakin@arm.com>
Tue, 16 Sep 2025 17:30:11 +0000 (17:30 +0000)
committerKarl Meakin <karl.meakin@arm.com>
Tue, 4 Aug 2026 14:23:39 +0000 (14:23 +0000)
When defining various index enums (eg `vector_type_index`,
`mode_suffix_index`) we are only interested in the name (the first
argument). So all the other arguments to the `DEF_` macro can be ignored
by using `...`.

gcc/ChangeLog:

* config/aarch64/aarch64-builtins.h (DEF_SIMD_TYPE): Use
variadic arguments.
* config/aarch64/aarch64-acle-builtins.h (DEF_SVE_TYPE): Likewise.
(DEF_SVE_MODE): Likewise.
(DEF_SVE_NEON_TYPE_SUFFIX): Likewise.
(DEF_SME_ZA_SUFFIX): Likewise.
(DEF_SVE_GROUP_SUFFIX): Likewise.

gcc/config/aarch64/aarch64-acle-builtins.h
gcc/config/aarch64/aarch64-builtins.h

index 415cdaaf757f3a5971eab00f57aa77e35de16bbd..c9b030f6eb613386d736d38b15c7b4e406fc7b34 100644 (file)
@@ -111,8 +111,7 @@ const unsigned int CP_WRITE_ZT0 = 1U << 10;
    "vector types" for brevity.  */
 enum vector_type_index
 {
-#define DEF_SVE_TYPE(ACLE_NAME, NCHARS, ABI_NAME, SCALAR_TYPE) \
-  VECTOR_TYPE_ ## ACLE_NAME,
+#define DEF_SVE_TYPE(ACLE_NAME, ...) VECTOR_TYPE_##ACLE_NAME,
 #include "aarch64-sve-builtins.def"
   NUM_VECTOR_TYPES
 };
@@ -199,7 +198,7 @@ enum type_class_index
    and the first type suffix.  */
 enum mode_suffix_index
 {
-#define DEF_SVE_MODE(NAME, BASE, DISPLACEMENT, UNITS) MODE_##NAME,
+#define DEF_SVE_MODE(NAME, ...) MODE_##NAME,
 #include "aarch64-sve-builtins.def"
   MODE_none
 };
@@ -209,11 +208,8 @@ enum mode_suffix_index
    element size.  */
 enum type_suffix_index
 {
-#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,
+#define DEF_SVE_NEON_TYPE_SUFFIX(NAME, ...) TYPE_SUFFIX_##NAME,
+#define DEF_SME_ZA_SUFFIX(NAME, ...) TYPE_SUFFIX_##NAME,
 #include "aarch64-sve-builtins.def"
   NUM_TYPE_SUFFIXES
 };
@@ -223,7 +219,7 @@ enum type_suffix_index
    and the number of vectors in the largest tuple argument.  */
 enum group_suffix_index
 {
-#define DEF_SVE_GROUP_SUFFIX(NAME, VG, VECTORS_PER_TUPLE) GROUP_##NAME,
+#define DEF_SVE_GROUP_SUFFIX(NAME, ...) GROUP_##NAME,
 #include "aarch64-sve-builtins.def"
   GROUP_none,
   NUM_GROUP_SUFFIXES
index 29e3b85a29da747b693ad75571ddc3a54b84fc1f..372d3a5b0888ee1d3c93f83324469e32a03141d6 100644 (file)
@@ -60,9 +60,9 @@ enum aarch64_type_qualifiers
   qualifier_modal_float = 0x2000,
 };
 
-#define DEF_SIMD_TYPE(E, M, Q, G) E,
 enum aarch64_simd_type
 {
+#define DEF_SIMD_TYPE(NAME, ...) NAME,
 #include "aarch64-simd-builtin-types.def"
   ARM_NEON_H_TYPES_LAST
 };