Christophe Lyon <christophe.l...@linaro.org> writes: > A recent commit mistakenly changed the field name for tuples from > 'val' to '__val', but unlike SVE this name is mandated by ACLE. > > The patch simply switches back the name to 'val'. > > PR target/118332 > > gcc/ChangeLog: > > * config/arm/arm-mve-builtins.cc (wrap_type_in_struct): Use 'val' > instead of '__val'. > > gcc/testsuite/ChangeLog: > > * gcc.target/arm/mve/intrinsics/pr118332.c: New test.
OK. Thanks for the super-quick fix :) Richard > --- > gcc/config/arm/arm-mve-builtins.cc | 5 ++--- > gcc/testsuite/gcc.target/arm/mve/intrinsics/pr118332.c | 5 +++++ > 2 files changed, 7 insertions(+), 3 deletions(-) > create mode 100644 gcc/testsuite/gcc.target/arm/mve/intrinsics/pr118332.c > > diff --git a/gcc/config/arm/arm-mve-builtins.cc > b/gcc/config/arm/arm-mve-builtins.cc > index 2a87c41b3ff..609fbc4cd59 100644 > --- a/gcc/config/arm/arm-mve-builtins.cc > +++ b/gcc/config/arm/arm-mve-builtins.cc > @@ -450,13 +450,12 @@ register_vector_type (vector_type_index type) > } > > /* Return a structure type that contains a single field of type FIELD_TYPE. > - The field is called __val, but that's an internal detail rather than > - an exposed part of the API. */ > + The field is called 'val', as mandated by ACLE. */ > static tree > wrap_type_in_struct (tree field_type) > { > tree field = build_decl (input_location, FIELD_DECL, > - get_identifier ("__val"), field_type); > + get_identifier ("val"), field_type); > tree struct_type = lang_hooks.types.make_type (RECORD_TYPE); > DECL_FIELD_CONTEXT (field) = struct_type; > TYPE_FIELDS (struct_type) = field; > diff --git a/gcc/testsuite/gcc.target/arm/mve/intrinsics/pr118332.c > b/gcc/testsuite/gcc.target/arm/mve/intrinsics/pr118332.c > new file mode 100644 > index 00000000000..a8f6389c58d > --- /dev/null > +++ b/gcc/testsuite/gcc.target/arm/mve/intrinsics/pr118332.c > @@ -0,0 +1,5 @@ > +/* { dg-require-effective-target arm_v8_1m_mve_ok } */ > +/* { dg-add-options arm_v8_1m_mve } */ > + > +#include <arm_mve.h> > +uint32x4_t first(uint32x4x4_t a) { return a.val[0]; }