[gcc r17-2939] aarch64: Use variadic arguments
Karl Meakin via Gcc-cvs <[email protected]> Tue, 4 Aug 2026 14:24:17 +0000 (GMT)
| Newsgroups | gmane.comp.gcc.cvs |
|---|---|
| Message-ID | <[email protected]> |
https://gcc.gnu.org/g:291a1a78d6f43d3273d290bbfe28dda39da274b4 commit r17-2939-g291a1a78d6f43d3273d290bbfe28dda39da274b4 Author: Karl Meakin <[email protected]> Date: Tue Sep 16 17:30:11 2025 +0000 aarch64: Use variadic arguments 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. Diff: --- gcc/config/aarch64/aarch64-acle-builtins.h | 14 +++++--------- gcc/config/aarch64/aarch64-builtins.h | 2 +- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/gcc/config/aarch64/aarch64-acle-builtins.h b/gcc/config/aarch64/aarch64-acle-builtins.h index 415cdaaf757f..c9b030f6eb61 100644 --- a/gcc/config/aarch64/aarch64-acle-builtins.h +++ b/gcc/config/aarch64/aarch64-acle-builtins.h @@ -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 diff --git a/gcc/config/aarch64/aarch64-builtins.h b/gcc/config/aarch64/aarch64-builtins.h index 29e3b85a29da..372d3a5b0888 100644 --- a/gcc/config/aarch64/aarch64-builtins.h +++ b/gcc/config/aarch64/aarch64-builtins.h @@ -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 };