summaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2013-06-04 18:05:55 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2013-06-04 18:05:55 +0000
commit60b34f301b8b9216bae1c95b68459b44044fc593 (patch)
treedaae81615c62801304aecdb8de4a285a367eb6cc /libgcc
parent4c115a64c51b3440a48a664cf7fa0a3b2239ae9f (diff)
downloadgcc-60b34f301b8b9216bae1c95b68459b44044fc593.tar.gz
gcc/
2013-06-03 Jürgen Urban <JuergenUrban@gmx.de> * config.gcc (mipsr5900-*-elf*, mipsr5900el-*-elf*, mips64r5900-*-elf*) (mips64r5900el-*-elf*): New configurations. * config/mips/mips-cpus.def (r5900): New processor. * config/mips/mips-tables.opt: Regenerate. * config/mips/mips.c (mips_rtx_cost_data): Add an R5900 entry. (mips_issue_rate): Handle PROCESSOR_R5900. (mips_reorg_process_insns): Force reorder mode for the R5900. * config/mips/mips.h (TARGET_MIPS5900): Define. (ISA_HAS_CONDMOVE, ISA_HAS_PREFETCH, ISA_HAS_HILO_INTERLOCKS): Include TARGET_MIPS5900. (ISA_HAS_LOAD_DELAY, ISA_HAS_XFER_DELAY, ISA_HAS_FCMP_DELAY): Exclude TARGET_MIPS5900. * config/mips/mips.md (processor): Add r5900. (MOVECC): Disallow CCmode conditions for TARGET_MIPS5900. libgcc/ 2013-06-03 Jürgen Urban <JuergenUrban@gmx.de> * config.host (mipsr5900-*-elf*, mipsr5900el-*-elf*, mips64r5900-*-elf*) (mips64r5900el-*-elf*): New configurations. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199666 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgcc')
-rw-r--r--libgcc/ChangeLog5
-rw-r--r--libgcc/config.host20
2 files changed, 24 insertions, 1 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 956ecb0fdb4..81edf447f03 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,8 @@
+2013-06-04 Jürgen Urban <JuergenUrban@gmx.de>
+
+ * config.host (mipsr5900-*-elf*, mipsr5900el-*-elf*, mips64r5900-*-elf*)
+ (mips64r5900el-*-elf*): New configurations.
+
2013-06-04 Alan Modra <amodra@gmail.com>
* config/rs6000/ibm-ldouble.c: Enable for little-endian.
diff --git a/libgcc/config.host b/libgcc/config.host
index 0247bb0106d..8cf1c5f43bc 100644
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -739,7 +739,17 @@ mips*-*-netbsd*) # NetBSD/mips, either endian.
;;
mips*-*-linux*) # Linux MIPS, either endian.
extra_parts="$extra_parts crtfastmath.o"
- tmake_file="${tmake_file} t-crtfm mips/t-mips16"
+ tmake_file="${tmake_file} t-crtfm"
+ # Check for MicroMIPS support.
+ case ${host} in
+ mips64r5900* | mipsr5900*)
+ # The MIPS16 support code uses floating point
+ # instructions that are not supported on r5900.
+ ;;
+ *)
+ tmake_file="${tmake_file} mips/t-mips16"
+ ;;
+ esac
md_unwind_header=mips/linux-unwind.h
if test "${ac_cv_sizeof_long_double}" = 16; then
tmake_file="${tmake_file} mips/t-tpbit"
@@ -777,10 +787,18 @@ mips-*-elf* | mipsel-*-elf*)
tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
extra_parts="$extra_parts crti.o crtn.o"
;;
+mipsr5900-*-elf* | mipsr5900el-*-elf*)
+ tmake_file="$tmake_file mips/t-elf mips/t-crtstuff"
+ extra_parts="$extra_parts crti.o crtn.o"
+ ;;
mips64-*-elf* | mips64el-*-elf*)
tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
extra_parts="$extra_parts crti.o crtn.o"
;;
+mips64r5900-*-elf* | mips64r5900el-*-elf*)
+ tmake_file="$tmake_file mips/t-elf mips/t-crtstuff"
+ extra_parts="$extra_parts crti.o crtn.o"
+ ;;
mips64vr-*-elf* | mips64vrel-*-elf*)
tmake_file="$tmake_file mips/t-elf mips/t-vr mips/t-crtstuff"
extra_parts="$extra_parts crti.o crtn.o"