aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim@codesourcery.com>2012-03-22 21:04:48 +0000
committerMaxim Kuvyrkov <mkuvyrkov@gcc.gnu.org>2012-03-22 21:04:48 +0000
commit3fd03b93407407b8bda22b1e9ced8f2ad5250a5a (patch)
treea109443e22dfa0c3acdb2840fbfdc1f2b327b153 /gcc
parentd4655dc7dd7f36c1fd31c12dd912ec1a78654f10 (diff)
downloadgcc-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/ChangeLog10
-rw-r--r--gcc/config/mips/mips-cpus.def1
-rw-r--r--gcc/config/mips/mips-tables.opt3
-rw-r--r--gcc/config/mips/mips.c14
-rw-r--r--gcc/config/mips/mips.h2
-rw-r--r--gcc/config/mips/mips.md1
-rw-r--r--gcc/doc/invoke.texi4
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)@.