diff options
author | Jürgen Urban <JuergenUrban@gmx.de> | 2013-06-04 18:05:55 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2013-06-04 18:05:55 +0000 |
commit | 107eea2ca48ec70e64787340d3e07c8b59ab0e79 (patch) | |
tree | daae81615c62801304aecdb8de4a285a367eb6cc /gcc/config.gcc | |
parent | ce6a6ae17520d9b0fb88e5cb9b9789f93062c16f (diff) | |
download | gcc-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 'gcc/config.gcc')
-rw-r--r-- | gcc/config.gcc | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc index cbe92f1..dcb6ee4 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1935,10 +1935,15 @@ mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*) tmake_file="mips/t-elf mips/t-sb1" tm_defines="${tm_defines} MIPS_ISA_DEFAULT=64 MIPS_CPU_STRING_DEFAULT=\\\"sb1\\\" MIPS_ABI_DEFAULT=ABI_O64" ;; -mips-*-elf* | mipsel-*-elf*) +mips-*-elf* | mipsel-*-elf* | mipsr5900-*-elf* | mipsr5900el-*-elf*) tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h" tmake_file="mips/t-elf" ;; +mips64r5900-*-elf* | mips64r5900el-*-elf*) + tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h" + tmake_file="mips/t-elf" + tm_defines="${tm_defines} MIPS_ISA_DEFAULT=3 MIPS_ABI_DEFAULT=ABI_N32" + ;; mips64-*-elf* | mips64el-*-elf*) tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h" tmake_file="mips/t-elf" @@ -2977,6 +2982,19 @@ if test x$with_cpu = x ; then ;; esac ;; + mips64r5900-*-* | mips64r5900el-*-* | mipsr5900-*-* | mipsr5900el-*-*) + with_arch=r5900 + with_tune=r5900 + if test x$with_llsc = x; then + # r5900 doesn't support ll, sc, lld and scd instructions: + with_llsc=no + fi + if test x$with_float = x; then + # r5900 doesn't support 64 bit float: + # 32 bit float doesn't comply with IEEE 754. + with_float=soft + fi + ;; mips*-*-vxworks) with_arch=mips2 ;; |