aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorClaudio Bantaloukas <claudio.bantaloukas@arm.com>2024-11-29 12:52:43 +0000
committerRichard Sandiford <richard.sandiford@arm.com>2024-11-29 12:52:43 +0000
commit49365994da6c46829ce85839042ae8e409343188 (patch)
tree0f3bdf9b8150c2ab977e0dc82f1304b61c5e2f42 /libgcc
parentdfa78681851bab3db88a7010b9def8449845fcfb (diff)
downloadgcc-49365994da6c46829ce85839042ae8e409343188.zip
gcc-49365994da6c46829ce85839042ae8e409343188.tar.gz
gcc-49365994da6c46829ce85839042ae8e409343188.tar.bz2
aarch64: specify fpm mode in function instances and groups
Some intrinsics require setting the fpm register before calling the specific asm opcode required. In order to simplify review, this patch: - adds the fpm_mode_index attribute to function_group_info and function_instance objects - updates existing initialisations and call sites. - updates equality and hash operations gcc/ * config/aarch64/aarch64-sve-builtins-base.cc (svdiv_impl): Specify FPM_unused when folding. (svmul_impl): Likewise. * config/aarch64/aarch64-sve-builtins-shapes.cc (build_one): Use the group fpm_mode when creating function instances. * config/aarch64/aarch64-sve-builtins-sve2.cc (svaba_impl, svqrshl_impl, svqshl_impl,svrshl_impl, svsra_impl): Specify FPM_unused when folding. * config/aarch64/aarch64-sve-builtins.cc (function_groups): Set fpm_mode on all elements. (neon_sve_function_groups, sme_function_groups): Likewise. (function_instance::hash): Include fpm_mode in hash. (function_builder::add_overloaded_functions): Use the group fpm mode. (function_resolver::lookup_form): Use the function instance fpm_mode when looking up a function. * config/aarch64/aarch64-sve-builtins.def (DEF_SVE_FUNCTION_GS_FPM): add define. (DEF_SVE_FUNCTION_GS): redefine against DEF_SVE_FUNCTION_GS_FPM. * config/aarch64/aarch64-sve-builtins.h (fpm_mode_index): New. (function_group_info): Add fpm_mode. (function_instance): Likewise. (function_instance::operator==): Handle fpm_mode.
Diffstat (limited to 'libgcc')
0 files changed, 0 insertions, 0 deletions