diff options
author | Maxim Kuvyrkov <maxim@codesourcery.com> | 2012-03-22 21:04:48 +0000 |
---|---|---|
committer | Maxim Kuvyrkov <mkuvyrkov@gcc.gnu.org> | 2012-03-22 21:04:48 +0000 |
commit | 3fd03b93407407b8bda22b1e9ced8f2ad5250a5a (patch) | |
tree | a109443e22dfa0c3acdb2840fbfdc1f2b327b153 /gcc | |
parent | d4655dc7dd7f36c1fd31c12dd912ec1a78654f10 (diff) | |
download | gcc-3fd03b93407407b8bda22b1e9ced8f2ad5250a5a.zip gcc-3fd03b93407407b8bda22b1e9ced8f2ad5250a5a.tar.gz gcc-3fd03b93407407b8bda22b1e9ced8f2ad5250a5a.tar.bz2 |
mips-tables.opt: Update.
* config/mips/mips-tables.opt: Update.
* config/mips/mips.md (processor): Add xlp.
* config/mips/mips-cpus.def: Add xlp.
* config/mips/mips.c (mips_rtx_cost_data): Add costs for XLP, copy from
5KF for now.
* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Handle xlp.
* doc/invoke.texi: Mention XLP.
From-SVN: r185712
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/config/mips/mips-cpus.def | 1 | ||||
-rw-r--r-- | gcc/config/mips/mips-tables.opt | 3 | ||||
-rw-r--r-- | gcc/config/mips/mips.c | 14 | ||||
-rw-r--r-- | gcc/config/mips/mips.h | 2 | ||||
-rw-r--r-- | gcc/config/mips/mips.md | 1 | ||||
-rw-r--r-- | gcc/doc/invoke.texi | 4 |
7 files changed, 32 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c27c721..45c1bd4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2012-03-22 Maxim Kuvyrkov <maxim@codesourcery.com> + + * config/mips/mips-tables.opt: Update. + * config/mips/mips.md (processor): Add xlp. + * config/mips/mips-cpus.def: Add xlp. + * config/mips/mips.c (mips_rtx_cost_data): Add costs for XLP, copy from + 5KF for now. + * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Handle xlp. + * doc/invoke.texi: Mention XLP. + 2012-03-22 Jakub Jelinek <jakub@redhat.com> PR middle-end/52547 diff --git a/gcc/config/mips/mips-cpus.def b/gcc/config/mips/mips-cpus.def index 98b915a..8271c47 100644 --- a/gcc/config/mips/mips-cpus.def +++ b/gcc/config/mips/mips-cpus.def @@ -147,3 +147,4 @@ MIPS_CPU ("loongson3a", PROCESSOR_LOONGSON_3A, 64, PTF_AVOID_BRANCHLIKELY) MIPS_CPU ("octeon", PROCESSOR_OCTEON, 65, PTF_AVOID_BRANCHLIKELY) MIPS_CPU ("octeon+", PROCESSOR_OCTEON, 65, PTF_AVOID_BRANCHLIKELY) MIPS_CPU ("octeon2", PROCESSOR_OCTEON2, 65, PTF_AVOID_BRANCHLIKELY) +MIPS_CPU ("xlp", PROCESSOR_XLP, 65, PTF_AVOID_BRANCHLIKELY) diff --git a/gcc/config/mips/mips-tables.opt b/gcc/config/mips/mips-tables.opt index 2d2c7f6..599fc12 100644 --- a/gcc/config/mips/mips-tables.opt +++ b/gcc/config/mips/mips-tables.opt @@ -609,3 +609,6 @@ Enum(mips_arch_opt_value) String(octeon+) Value(81) Canonical EnumValue Enum(mips_arch_opt_value) String(octeon2) Value(82) Canonical +EnumValue +Enum(mips_arch_opt_value) String(xlp) Value(83) Canonical + diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 008c776..d48a465 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -1086,6 +1086,20 @@ static const struct mips_rtx_cost_data COSTS_N_INSNS (72), /* int_div_di */ 1, /* branch_cost */ 4 /* memory_latency */ + }, + { /* XLP */ + /* These costs are the same as 5KF above. */ + COSTS_N_INSNS (4), /* fp_add */ + COSTS_N_INSNS (4), /* fp_mult_sf */ + COSTS_N_INSNS (5), /* fp_mult_df */ + COSTS_N_INSNS (17), /* fp_div_sf */ + COSTS_N_INSNS (32), /* fp_div_df */ + COSTS_N_INSNS (4), /* int_mult_si */ + COSTS_N_INSNS (11), /* int_mult_di */ + COSTS_N_INSNS (36), /* int_div_si */ + COSTS_N_INSNS (68), /* int_div_di */ + 1, /* branch_cost */ + 4 /* memory_latency */ } }; diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h index 3f284a8..bcb7c04 100644 --- a/gcc/config/mips/mips.h +++ b/gcc/config/mips/mips.h @@ -701,7 +701,7 @@ struct mips_cpu_info { |march=34k*|march=74k*|march=1004k*: -mips32r2} \ %{march=mips64|march=5k*|march=20k*|march=sb1*|march=sr71000 \ |march=xlr|march=loongson3a: -mips64} \ - %{march=mips64r2|march=octeon: -mips64r2} \ + %{march=mips64r2|march=octeon|march=xlp: -mips64r2} \ %{!march=*: -" MULTILIB_ISA_DEFAULT "}}" /* A spec that infers a -mhard-float or -msoft-float setting from an diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md index e5d716d..5d8f74f 100644 --- a/gcc/config/mips/mips.md +++ b/gcc/config/mips/mips.md @@ -65,6 +65,7 @@ sb1a sr71000 xlr + xlp ]) (define_c_enum "unspec" [ diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 82f0d30..b321dd8 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -15284,8 +15284,8 @@ The processor names are: @samp{sb1}, @samp{sr71000}, @samp{vr4100}, @samp{vr4111}, @samp{vr4120}, @samp{vr4130}, @samp{vr4300}, -@samp{vr5000}, @samp{vr5400}, @samp{vr5500} -and @samp{xlr}. +@samp{vr5000}, @samp{vr5400}, @samp{vr5500}, +@samp{xlr} and @samp{xlp}. The special value @samp{from-abi} selects the most compatible architecture for the selected ABI (that is, @samp{mips1} for 32-bit ABIs and @samp{mips3} for 64-bit ABIs)@. |