diff --git a/gcc/config/aarch64/tuning_models/cortexx925.h b/gcc/config/aarch64/tuning_models/cortexx925.h
index 89aa353669937f1a5e8cffae7c3d49044562cfd7..eb9b89984b0472858bc08dba924c962ec4ba53bd 100644
--- a/gcc/config/aarch64/tuning_models/cortexx925.h
+++ b/gcc/config/aarch64/tuning_models/cortexx925.h
@@ -22,24 +22,6 @@
 
 #include "generic.h"
 
-static const struct cpu_addrcost_table cortexx925_addrcost_table =
-{
-    {
-      1, /* hi  */
-      0, /* si  */
-      0, /* di  */
-      1, /* ti  */
-    },
-  0, /* pre_modify  */
-  0, /* post_modify  */
-  2, /* post_modify_ld3_st3  */
-  2, /* post_modify_ld4_st4  */
-  0, /* register_offset  */
-  0, /* register_sextend  */
-  0, /* register_zextend  */
-  0 /* imm_offset  */
-};
-
 static const struct cpu_regmove_cost cortexx925_regmove_cost =
 {
   3, /* GP2GP  */
@@ -209,7 +191,7 @@ static const struct cpu_vector_cost cortexx925_vector_cost =
 static const struct tune_params cortexx925_tunings =
 {
   &cortexa76_extra_costs,
-  &cortexx925_addrcost_table,
+  &generic_armv9_a_addrcost_table,
   &cortexx925_regmove_cost,
   &cortexx925_vector_cost,
   &generic_branch_cost,
diff --git a/gcc/config/aarch64/tuning_models/neoversen1.h b/gcc/config/aarch64/tuning_models/neoversen1.h
index a09b684fcdb0e558c87e3f6c17c6c4f359cca51c..82def6b2736df8162d9b606440d260c951f3ef99 100644
--- a/gcc/config/aarch64/tuning_models/neoversen1.h
+++ b/gcc/config/aarch64/tuning_models/neoversen1.h
@@ -25,7 +25,7 @@
 static const struct tune_params neoversen1_tunings =
 {
   &cortexa76_extra_costs,
-  &generic_addrcost_table,
+  &generic_armv8_a_addrcost_table,
   &generic_regmove_cost,
   &cortexa57_vector_cost,
   &generic_branch_cost,
diff --git a/gcc/config/aarch64/tuning_models/neoversen2.h b/gcc/config/aarch64/tuning_models/neoversen2.h
index dd175b75557b28c485b3e27d7a50c50600f367a5..18199ac206c6cbfcef8695b497401b78a8f77f38 100644
--- a/gcc/config/aarch64/tuning_models/neoversen2.h
+++ b/gcc/config/aarch64/tuning_models/neoversen2.h
@@ -22,24 +22,6 @@
 
 #include "generic.h"
 
-static const struct cpu_addrcost_table neoversen2_addrcost_table =
-{
-    {
-      1, /* hi  */
-      0, /* si  */
-      0, /* di  */
-      1, /* ti  */
-    },
-  0, /* pre_modify  */
-  0, /* post_modify  */
-  2, /* post_modify_ld3_st3  */
-  2, /* post_modify_ld4_st4  */
-  0, /* register_offset  */
-  0, /* register_sextend  */
-  0, /* register_zextend  */
-  0 /* imm_offset  */
-};
-
 static const struct cpu_regmove_cost neoversen2_regmove_cost =
 {
   1, /* GP2GP  */
@@ -209,7 +191,7 @@ static const struct cpu_vector_cost neoversen2_vector_cost =
 static const struct tune_params neoversen2_tunings =
 {
   &cortexa76_extra_costs,
-  &neoversen2_addrcost_table,
+  &generic_armv9_a_addrcost_table,
   &neoversen2_regmove_cost,
   &neoversen2_vector_cost,
   &generic_branch_cost,
diff --git a/gcc/config/aarch64/tuning_models/neoversen3.h b/gcc/config/aarch64/tuning_models/neoversen3.h
index e510c8f09f781b9fafb59088e90cfd5dea43cc75..4da85cfac0d185a5d59439f6d19d90ace0354e8f 100644
--- a/gcc/config/aarch64/tuning_models/neoversen3.h
+++ b/gcc/config/aarch64/tuning_models/neoversen3.h
@@ -22,24 +22,6 @@
 
 #include "generic.h"
 
-static const struct cpu_addrcost_table neoversen3_addrcost_table =
-{
-    {
-      1, /* hi  */
-      0, /* si  */
-      0, /* di  */
-      1, /* ti  */
-    },
-  0, /* pre_modify  */
-  0, /* post_modify  */
-  2, /* post_modify_ld3_st3  */
-  2, /* post_modify_ld4_st4  */
-  0, /* register_offset  */
-  0, /* register_sextend  */
-  0, /* register_zextend  */
-  0 /* imm_offset  */
-};
-
 static const struct cpu_regmove_cost neoversen3_regmove_cost =
 {
   3, /* GP2GP  */
@@ -209,7 +191,7 @@ static const struct cpu_vector_cost neoversen3_vector_cost =
 static const struct tune_params neoversen3_tunings =
 {
   &cortexa76_extra_costs,
-  &neoversen3_addrcost_table,
+  &generic_armv9_a_addrcost_table,
   &neoversen3_regmove_cost,
   &neoversen3_vector_cost,
   &generic_branch_cost,
diff --git a/gcc/config/aarch64/tuning_models/neoversev2.h b/gcc/config/aarch64/tuning_models/neoversev2.h
index b2aca79b9ceff783595759f48d755f2f7985de15..1369de73991cb9413ea3ea8fb292b7589420bab2 100644
--- a/gcc/config/aarch64/tuning_models/neoversev2.h
+++ b/gcc/config/aarch64/tuning_models/neoversev2.h
@@ -22,24 +22,6 @@
 
 #include "generic.h"
 
-static const struct cpu_addrcost_table neoversev2_addrcost_table =
-{
-    {
-      1, /* hi  */
-      0, /* si  */
-      0, /* di  */
-      1, /* ti  */
-    },
-  0, /* pre_modify  */
-  0, /* post_modify  */
-  2, /* post_modify_ld3_st3  */
-  2, /* post_modify_ld4_st4  */
-  0, /* register_offset  */
-  0, /* register_sextend  */
-  0, /* register_zextend  */
-  0 /* imm_offset  */
-};
-
 static const struct cpu_regmove_cost neoversev2_regmove_cost =
 {
   1, /* GP2GP  */
@@ -222,7 +204,7 @@ static const cpu_prefetch_tune neoversev2_prefetch_tune =
 static const struct tune_params neoversev2_tunings =
 {
   &cortexa76_extra_costs,
-  &neoversev2_addrcost_table,
+  &generic_armv9_a_addrcost_table,
   &neoversev2_regmove_cost,
   &neoversev2_vector_cost,
   &generic_branch_cost,
diff --git a/gcc/config/aarch64/tuning_models/neoversev3.h b/gcc/config/aarch64/tuning_models/neoversev3.h
index 84415ae65835e65e86f3c8d38f31ef2e427ae243..d8c82255378c81d4d2437412d41f3cbbd456f9c3 100644
--- a/gcc/config/aarch64/tuning_models/neoversev3.h
+++ b/gcc/config/aarch64/tuning_models/neoversev3.h
@@ -22,24 +22,6 @@
 
 #include "generic.h"
 
-static const struct cpu_addrcost_table neoversev3_addrcost_table =
-{
-    {
-      1, /* hi  */
-      0, /* si  */
-      0, /* di  */
-      1, /* ti  */
-    },
-  0, /* pre_modify  */
-  0, /* post_modify  */
-  2, /* post_modify_ld3_st3  */
-  2, /* post_modify_ld4_st4  */
-  0, /* register_offset  */
-  0, /* register_sextend  */
-  0, /* register_zextend  */
-  0 /* imm_offset  */
-};
-
 static const struct cpu_regmove_cost neoversev3_regmove_cost =
 {
   3, /* GP2GP  */
@@ -209,7 +191,7 @@ static const struct cpu_vector_cost neoversev3_vector_cost =
 static const struct tune_params neoversev3_tunings =
 {
   &cortexa76_extra_costs,
-  &neoversev3_addrcost_table,
+  &generic_armv9_a_addrcost_table,
   &neoversev3_regmove_cost,
   &neoversev3_vector_cost,
   &generic_branch_cost,
diff --git a/gcc/config/aarch64/tuning_models/neoversev3ae.h b/gcc/config/aarch64/tuning_models/neoversev3ae.h
index 3cb92fde54bfd4cb5f25f9c356443c66daf9006b..7f050501ede7108e1109ea0b5efae355380d07dc 100644
--- a/gcc/config/aarch64/tuning_models/neoversev3ae.h
+++ b/gcc/config/aarch64/tuning_models/neoversev3ae.h
@@ -22,24 +22,6 @@
 
 #include "generic.h"
 
-static const struct cpu_addrcost_table neoversev3ae_addrcost_table =
-{
-    {
-      1, /* hi  */
-      0, /* si  */
-      0, /* di  */
-      1, /* ti  */
-    },
-  0, /* pre_modify  */
-  0, /* post_modify  */
-  2, /* post_modify_ld3_st3  */
-  2, /* post_modify_ld4_st4  */
-  0, /* register_offset  */
-  0, /* register_sextend  */
-  0, /* register_zextend  */
-  0 /* imm_offset  */
-};
-
 static const struct cpu_regmove_cost neoversev3ae_regmove_cost =
 {
   3, /* GP2GP  */
@@ -209,7 +191,7 @@ static const struct cpu_vector_cost neoversev3ae_vector_cost =
 static const struct tune_params neoversev3ae_tunings =
 {
   &cortexa76_extra_costs,
-  &neoversev3ae_addrcost_table,
+  &generic_armv9_a_addrcost_table,
   &neoversev3ae_regmove_cost,
   &neoversev3ae_vector_cost,
   &generic_branch_cost,
