https://gcc.gnu.org/g:abeeccef92892fe519cc417b30ae22ce9da2d5e6

commit r15-3261-gabeeccef92892fe519cc417b30ae22ce9da2d5e6
Author: Richard Sandiford <richard.sandif...@arm.com>
Date:   Wed Aug 28 16:41:09 2024 +0100

    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.

Diff:
---
 gcc/config/aarch64/tuning_models/generic.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/config/aarch64/tuning_models/generic.h 
b/gcc/config/aarch64/tuning_models/generic.h
index 101969bdbb9c..ee2f3ff42663 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  */
 };

Reply via email to