diff options
author | Christophe Lyon <christophe.lyon@linaro.org> | 2024-11-13 15:30:44 +0000 |
---|---|---|
committer | Christophe Lyon <christophe.lyon@linaro.org> | 2024-12-13 14:25:35 +0000 |
commit | e9c36605a4838cbcdb75c6364b9fa700c5a43227 (patch) | |
tree | e1f9abc3b1e9433af72b66d6b6aceea371227d20 /gcc/fortran | |
parent | 1e52a6a2d44cfa81f80a14360db0687275512ec7 (diff) | |
download | gcc-e9c36605a4838cbcdb75c6364b9fa700c5a43227.zip gcc-e9c36605a4838cbcdb75c6364b9fa700c5a43227.tar.gz gcc-e9c36605a4838cbcdb75c6364b9fa700c5a43227.tar.bz2 |
arm: [MVE intrinsics] add support for tuples
This patch is largely a copy/paste from the aarch64 SVE counterpart,
and adds support for tuples to the MVE intrinsics framework.
Introduce function_resolver::infer_tuple_type which will be used to
resolve overloaded vst2q and vst4q function names in a later patch.
Fix access to acle_vector_types in a few places, as well as in
infer_vector_or_tuple_type because we should shift the tuple size to
the right by one bit when computing the array index.
The new wrap_type_in_struct, register_type_decl and infer_tuple_type
are largely copies of the aarch64 versions, and
register_builtin_tuple_types is very similar.
gcc/ChangeLog:
* config/arm/arm-mve-builtins-shapes.cc (parse_type): Fix access
to acle_vector_types.
* config/arm/arm-mve-builtins.cc (wrap_type_in_struct): New.
(register_type_decl): New.
(register_builtin_tuple_types): Fix support for tuples.
(function_resolver::infer_tuple_type): New.
* config/arm/arm-mve-builtins.h
(function_resolver::infer_tuple_type): Declare.
(function_instance::tuple_type): Fix access to acle_vector_types.
Diffstat (limited to 'gcc/fortran')
0 files changed, 0 insertions, 0 deletions