On Thu, 2023-11-16 15:26:14 +0000, Christophe Lyon <christophe.l...@linaro.org> 
wrote:
> diff --git a/gcc/config/arm/arm-mve-builtins-functions.h 
> b/gcc/config/arm/arm-mve-builtins-functions.h
> index eba1f071af0..6d234a2dd7c 100644
> --- a/gcc/config/arm/arm-mve-builtins-functions.h
> +++ b/gcc/config/arm/arm-mve-builtins-functions.h
> @@ -966,6 +966,62 @@ public:
[...]

> +class full_width_access : public multi_vector_function
> +{
> +public:
> +  CONSTEXPR full_width_access (unsigned int vectors_per_tuple = 1)
> +    : multi_vector_function (vectors_per_tuple) {}
> +
> +  tree
> +  memory_scalar_type (const function_instance &fi) const override
> +  {
> +    return fi.scalar_type (0);
> +  }
> +
> +  machine_mode
> +  memory_vector_mode (const function_instance &fi) const override
> +  {
> +    machine_mode mode = fi.vector_mode (0);
> +    /* Vectors of floating-point are managed in memory as vectors of
> +       integers.  */
> +    switch (mode)
> +      {
> +      case E_V4SFmode:
> +     mode = E_V4SImode;
> +     break;
> +      case E_V8HFmode:
> +     mode = E_V8HImode;
> +     break;
> +      }

This introduces warnings about many enum values not being handled, so
a default would be good I think. (I do automated builds with
--enable-werror-always, see eg.
http://toolchain.lug-owl.de/laminar/log/gcc-arm-eabi/48)

MfG, JBG

-- 

Attachment: signature.asc
Description: PGP signature

Reply via email to