aboutsummaryrefslogtreecommitdiff
path: root/libgcc/config.host
diff options
context:
space:
mode:
authorJürgen Urban <JuergenUrban@gmx.de>2013-06-04 18:05:55 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2013-06-04 18:05:55 +0000
commit107eea2ca48ec70e64787340d3e07c8b59ab0e79 (patch)
treedaae81615c62801304aecdb8de4a285a367eb6cc /libgcc/config.host
parentce6a6ae17520d9b0fb88e5cb9b9789f93062c16f (diff)
downloadgcc-107eea2ca48ec70e64787340d3e07c8b59ab0e79.zip
gcc-107eea2ca48ec70e64787340d3e07c8b59ab0e79.tar.gz
gcc-107eea2ca48ec70e64787340d3e07c8b59ab0e79.tar.bz2
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. From-SVN: r199666
Diffstat (limited to 'libgcc/config.host')
-rw-r--r--libgcc/config.host20
1 files changed, 19 insertions, 1 deletions
diff --git a/libgcc/config.host b/libgcc/config.host
index 0247bb0..8cf1c5f 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"