aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/aarch64
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2024-08-28 16:41:09 +0100
committerRichard Sandiford <richard.sandiford@arm.com>2024-08-28 16:41:09 +0100
commitabeeccef92892fe519cc417b30ae22ce9da2d5e6 (patch)
tree52317745bcec0cbb4feb03e5d1da31af8b135776 /gcc/config/aarch64
parent3e27ea26fedf00c2662d8460cdf6aca05d0d64aa (diff)
downloadgcc-abeeccef92892fe519cc417b30ae22ce9da2d5e6.zip
gcc-abeeccef92892fe519cc417b30ae22ce9da2d5e6.tar.gz
gcc-abeeccef92892fe519cc417b30ae22ce9da2d5e6.tar.bz2
aarch64: Assume zero gather/scatter set-up cost for -mtune=generic
generic_vector_cost is not currently used by any SVE target by default; it has to be specifically selected by -mtune=generic. Its SVE costing has historically been somewhat idealised, since it predated any actual SVE cores. This seems like a useful tradition to continue, at least for testing purposes. The ideal case is that gathers and scatters do not induce a specific one-off overhead. This patch therefore sets the gather/scatter init costs to zero. This patch is necessary to switch -mtune=generic over to the "new" vector costs. gcc/ * config/aarch64/tuning_models/generic.h (generic_sve_vector_cost): Set gather_load_x32_init_cost and gather_load_x64_init_cost to 0.
Diffstat (limited to 'gcc/config/aarch64')
-rw-r--r--gcc/config/aarch64/tuning_models/generic.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/config/aarch64/tuning_models/generic.h b/gcc/config/aarch64/tuning_models/generic.h
index 101969b..ee2f3ff 100644
--- a/gcc/config/aarch64/tuning_models/generic.h
+++ b/gcc/config/aarch64/tuning_models/generic.h
@@ -105,8 +105,8 @@ static const sve_vec_cost generic_sve_vector_cost =
2, /* fadda_f64_cost */
4, /* gather_load_x32_cost */
2, /* gather_load_x64_cost */
- 12, /* gather_load_x32_init_cost */
- 4, /* gather_load_x64_init_cost */
+ 0, /* gather_load_x32_init_cost */
+ 0, /* gather_load_x64_init_cost */
1 /* scatter_store_elt_cost */
};