aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@linaro.org>2024-11-13 15:30:44 +0000
committerChristophe Lyon <christophe.lyon@linaro.org>2024-12-13 14:25:35 +0000
commite9c36605a4838cbcdb75c6364b9fa700c5a43227 (patch)
treee1f9abc3b1e9433af72b66d6b6aceea371227d20 /gcc/fortran
parent1e52a6a2d44cfa81f80a14360db0687275512ec7 (diff)
downloadgcc-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