diff options
author | Jojo R <rjiejie@linux.alibaba.com> | 2021-06-21 20:42:43 +0800 |
---|---|---|
committer | Kito Cheng <kito.cheng@sifive.com> | 2021-06-22 17:14:25 +0800 |
commit | 7822285515cd4dab86f722a9f4969b6952904a37 (patch) | |
tree | 393ac5ed7d85ccf88717197f45eabb54d8cf2488 /gcc | |
parent | f0e40ea0640aa0b324ec17e72154997468f33bc7 (diff) | |
download | gcc-7822285515cd4dab86f722a9f4969b6952904a37.zip gcc-7822285515cd4dab86f722a9f4969b6952904a37.tar.gz gcc-7822285515cd4dab86f722a9f4969b6952904a37.tar.bz2 |
RISC-V: Add tune info for T-HEAD C906.
gcc/
* config/riscv/riscv.c (thead_c906_tune_info): New.
(riscv_tune_info_table): Use new tune.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/riscv/riscv.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/config/riscv/riscv.c b/gcc/config/riscv/riscv.c index 1baa299..576960b 100644 --- a/gcc/config/riscv/riscv.c +++ b/gcc/config/riscv/riscv.c @@ -300,6 +300,19 @@ static const struct riscv_tune_param sifive_7_tune_info = { true, /* slow_unaligned_access */ }; +/* Costs to use when optimizing for T-HEAD c906. */ +static const struct riscv_tune_param thead_c906_tune_info = { + {COSTS_N_INSNS (4), COSTS_N_INSNS (5)}, /* fp_add */ + {COSTS_N_INSNS (4), COSTS_N_INSNS (5)}, /* fp_mul */ + {COSTS_N_INSNS (20), COSTS_N_INSNS (20)}, /* fp_div */ + {COSTS_N_INSNS (4), COSTS_N_INSNS (4)}, /* int_mul */ + {COSTS_N_INSNS (6), COSTS_N_INSNS (6)}, /* int_div */ + 1, /* issue_rate */ + 3, /* branch_cost */ + 5, /* memory_cost */ + false, /* slow_unaligned_access */ +}; + /* Costs to use when optimizing for size. */ static const struct riscv_tune_param optimize_size_tune_info = { {COSTS_N_INSNS (1), COSTS_N_INSNS (1)}, /* fp_add */ @@ -348,6 +361,7 @@ static const struct riscv_tune_info riscv_tune_info_table[] = { { "sifive-3-series", generic, &rocket_tune_info }, { "sifive-5-series", generic, &rocket_tune_info }, { "sifive-7-series", sifive_7, &sifive_7_tune_info }, + { "thead-c906", generic, &thead_c906_tune_info }, { "size", generic, &optimize_size_tune_info }, }; |