aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple-loop-interchange.cc
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2023-12-05 10:11:20 +0000
committerRichard Sandiford <richard.sandiford@arm.com>2023-12-05 10:11:20 +0000
commit7f6de9861e5d7745a0af5174582519a39d545a92 (patch)
treefcfcdc98eb2092c86c2eac3af8d49a43a034c92d /gcc/gimple-loop-interchange.cc
parent7b607f197967e052d7d7e29f6b41eded18f8c65d (diff)
downloadgcc-7f6de9861e5d7745a0af5174582519a39d545a92.zip
gcc-7f6de9861e5d7745a0af5174582519a39d545a92.tar.gz
gcc-7f6de9861e5d7745a0af5174582519a39d545a92.tar.bz2
aarch64: Add sve_type to SVE builtins code
Until now, the SVE ACLE code had mostly been able to represent individual SVE arguments with just an element type suffix (s32, u32, etc.). However, the SME2 ACLE provides many overloaded intrinsics that operate on tuples rather than single vectors. This patch therefore adds a new type (sve_type) that combines an element type suffix with a vector count. This is enough to uniquely represent all SVE ACLE types. gcc/ * config/aarch64/aarch64-sve-builtins.h (sve_type): New struct. (sve_type::operator==): New function. (function_resolver::get_vector_type): Delete. (function_resolver::report_no_such_form): Take an sve_type rather than a type_suffix_index. * config/aarch64/aarch64-sve-builtins.cc (get_vector_type): New function. (function_resolver::get_vector_type): Delete. (function_resolver::report_no_such_form): Take an sve_type rather than a type_suffix_index. (find_sve_type): New function, split out from... (function_resolver::infer_vector_or_tuple_type): ...here.
Diffstat (limited to 'gcc/gimple-loop-interchange.cc')
0 files changed, 0 insertions, 0 deletions