diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2024-08-28 16:41:09 +0100 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@arm.com> | 2024-08-28 16:41:09 +0100 |
commit | abeeccef92892fe519cc417b30ae22ce9da2d5e6 (patch) | |
tree | 52317745bcec0cbb4feb03e5d1da31af8b135776 /gcc/config/aarch64 | |
parent | 3e27ea26fedf00c2662d8460cdf6aca05d0d64aa (diff) | |
download | gcc-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.h | 4 |
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 */ }; |