diff options
author | CoprDistGit <infra@openeuler.org> | 2025-02-28 10:03:49 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2025-02-28 10:03:49 +0000 |
commit | 73127104a245052cd5cf29cdaaca3e5c32c70348 (patch) | |
tree | 8e28b63e478c43c252f18b49836dff7313affe54 /0324-bugfix-fix-vector-costs-for-hip09.patch | |
parent | 49d3feaf4665cdb07576fc1a2382a4d82a612d35 (diff) |
automatic import of gccopeneuler24.03_LTS_SP1
Diffstat (limited to '0324-bugfix-fix-vector-costs-for-hip09.patch')
-rw-r--r-- | 0324-bugfix-fix-vector-costs-for-hip09.patch | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/0324-bugfix-fix-vector-costs-for-hip09.patch b/0324-bugfix-fix-vector-costs-for-hip09.patch new file mode 100644 index 0000000..9483a58 --- /dev/null +++ b/0324-bugfix-fix-vector-costs-for-hip09.patch @@ -0,0 +1,52 @@ +From 8f5c12954adb237685c837cb37c98b7594e9fa61 Mon Sep 17 00:00:00 2001 +From: Mingchuan Wu <wumingchuan1992@foxmail.com> +Date: Tue, 10 Dec 2024 15:50:16 +0800 +Subject: [PATCH] [bugfix] fix vector costs for hip09. + +--- + gcc/config/aarch64/aarch64-cost-tables.h | 6 +++++- + gcc/config/aarch64/aarch64.cc | 4 +++- + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/gcc/config/aarch64/aarch64-cost-tables.h b/gcc/config/aarch64/aarch64-cost-tables.h +index dc51d9c2c..06da1b271 100644 +--- a/gcc/config/aarch64/aarch64-cost-tables.h ++++ b/gcc/config/aarch64/aarch64-cost-tables.h +@@ -872,7 +872,11 @@ const struct cpu_cost_table hip09_extra_costs = + }, + /* Vector */ + { +- COSTS_N_INSNS (1) /* alu. */ ++ COSTS_N_INSNS (1), /* alu. */ ++ COSTS_N_INSNS (4), /* mult. */ ++ COSTS_N_INSNS (1), /* movi. */ ++ COSTS_N_INSNS (2), /* dup. */ ++ COSTS_N_INSNS (2) /* extract. */ + } + }; + +diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc +index 829e0da8f..f2444a039 100644 +--- a/gcc/config/aarch64/aarch64.cc ++++ b/gcc/config/aarch64/aarch64.cc +@@ -499,6 +499,8 @@ static const struct cpu_addrcost_table hip09_addrcost_table = + }, + 0, /* pre_modify */ + 0, /* post_modify */ ++ 0, /* post_modify_ld3_st3 */ ++ 0, /* post_modify_ld4_st4 */ + 0, /* register_offset */ + 1, /* register_sextend */ + 1, /* register_zextend */ +@@ -1910,7 +1912,7 @@ static const struct tune_params hip09_tunings = + &hip09_extra_costs, + &hip09_addrcost_table, + &hip09_regmove_cost, +- &hip09_vector_cost, ++ &generic_vector_cost, + &generic_branch_cost, + &generic_approx_modes, + SVE_256, /* sve_width */ +-- +2.33.0 + |