aboutsummaryrefslogtreecommitdiff
path: root/contrib/gcc
diff options
context:
space:
mode:
authorEd Maste <emaste@FreeBSD.org>2017-01-27 21:31:32 +0000
committerEd Maste <emaste@FreeBSD.org>2017-01-27 21:31:32 +0000
commit5be48d84bed3ed2544b3f70a3fee1120dd9e8073 (patch)
tree872f02ef7fc6b6dcaa0296ea5bd05861e43598d9 /contrib/gcc
parent2dd1186c7e1249993053bbb35dc0acc716c148f4 (diff)
downloadsrc-5be48d84bed3ed2544b3f70a3fee1120dd9e8073.tar.gz
src-5be48d84bed3ed2544b3f70a3fee1120dd9e8073.zip
add octeon+ as an alias for octeon in GCC & binutils
In r208737 jmallett@ added support for the "mips64r2" architecture and "octeon" CPU, and the saa/saad instructions. Upstream binutils also added the "octeon+" CPU, and the saa/saad instructions are only available in octeon+, not octeon. Since our base system tool chain already accepts saa/saad with -march=octeon, just allow octeon+ as an alias. This allows the use of octeon+ in kernel config files, for use with both external tool chain and in-tree GCC/binutils. PR: 216516 MFC after: 1 month Sponsored by: The FreeBSD Foundation
Notes
Notes: svn path=/head/; revision=312899
Diffstat (limited to 'contrib/gcc')
-rw-r--r--contrib/gcc/config/mips/mips.c1
-rw-r--r--contrib/gcc/config/mips/mips.h5
2 files changed, 5 insertions, 1 deletions
diff --git a/contrib/gcc/config/mips/mips.c b/contrib/gcc/config/mips/mips.c
index faa4e4639077..5a7792ccb7c0 100644
--- a/contrib/gcc/config/mips/mips.c
+++ b/contrib/gcc/config/mips/mips.c
@@ -765,6 +765,7 @@ const struct mips_cpu_info mips_cpu_info_table[] = {
/* MIPS64R2 */
{ "octeon", PROCESSOR_OCTEON, 65 },
+ { "octeon+", PROCESSOR_OCTEON, 65 },
/* End marker */
{ 0, 0, 0 }
diff --git a/contrib/gcc/config/mips/mips.h b/contrib/gcc/config/mips/mips.h
index 1ba14029b29a..cba35a27f1c6 100644
--- a/contrib/gcc/config/mips/mips.h
+++ b/contrib/gcc/config/mips/mips.h
@@ -285,7 +285,10 @@ extern const struct mips_rtx_cost_data *mips_cost;
\
macro = concat ((PREFIX), "_", (INFO)->name, NULL); \
for (p = macro; *p != 0; p++) \
- *p = TOUPPER (*p); \
+ if (*p == '+') \
+ *p = 'P'; \
+ else \
+ *p = TOUPPER (*p); \
\
builtin_define (macro); \
builtin_define_with_value ((PREFIX), (INFO)->name, 1); \