diff options
| author | jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-16 22:54:55 +0000 |
|---|---|---|
| committer | jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-16 22:54:55 +0000 |
| commit | eb91c01f5fa36e45e16af109cf07332db4572e5a (patch) | |
| tree | d1a86f0c7c464d6e6653b30a73a5810e902e0f1e | |
| parent | 52e95993c963e5b092bc492a62d6279fcdd0a18b (diff) | |
| download | ppe42-gcc-eb91c01f5fa36e45e16af109cf07332db4572e5a.tar.gz ppe42-gcc-eb91c01f5fa36e45e16af109cf07332db4572e5a.zip | |
* config/mips/mips.c (mips_rtx_cost_data): Use SOFT_FP_COSTS in
XLR entry.
* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC, MIPS_ARCH_FLOAT_SPEC):
Handle -march=xlr.
* config/mips/xlr.md (ir_xlr_alu): Also accept insn types move,
logical and signext.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146217 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 9 | ||||
| -rw-r--r-- | gcc/config/mips/mips.c | 8 | ||||
| -rw-r--r-- | gcc/config/mips/mips.h | 5 | ||||
| -rw-r--r-- | gcc/config/mips/xlr.md | 4 |
4 files changed, 15 insertions, 11 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7fba65d5db8..cf43e618a86 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2009-04-16 Joseph Myers <joseph@codesourcery.com> + + * config/mips/mips.c (mips_rtx_cost_data): Use SOFT_FP_COSTS in + XLR entry. + * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC, MIPS_ARCH_FLOAT_SPEC): + Handle -march=xlr. + * config/mips/xlr.md (ir_xlr_alu): Also accept insn types move, + logical and signext. + 2009-04-16 Kaz Kojima <kkojima@gcc.gnu.org> PR target/39767 diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 0b51c78f576..6b7676ff19e 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -1094,13 +1094,7 @@ static const struct mips_rtx_cost_data mips_rtx_cost_data[PROCESSOR_MAX] = { DEFAULT_COSTS }, { /* XLR */ - /* Need to replace first five with the costs of calling the appropriate - libgcc routine. */ - COSTS_N_INSNS (256), /* fp_add */ - COSTS_N_INSNS (256), /* fp_mult_sf */ - COSTS_N_INSNS (256), /* fp_mult_df */ - COSTS_N_INSNS (256), /* fp_div_sf */ - COSTS_N_INSNS (256), /* fp_div_df */ + SOFT_FP_COSTS, COSTS_N_INSNS (8), /* int_mult_si */ COSTS_N_INSNS (8), /* int_mult_di */ COSTS_N_INSNS (72), /* int_div_si */ diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h index 45971acf08a..6fac454d61d 100644 --- a/gcc/config/mips/mips.h +++ b/gcc/config/mips/mips.h @@ -709,7 +709,8 @@ enum mips_code_readable_setting { %{march=mips32|march=4kc|march=4km|march=4kp|march=4ksc:-mips32} \ %{march=mips32r2|march=m4k|march=4ke*|march=4ksd|march=24k* \ |march=34k*|march=74k*: -mips32r2} \ - %{march=mips64|march=5k*|march=20k*|march=sb1*|march=sr71000: -mips64} \ + %{march=mips64|march=5k*|march=20k*|march=sb1*|march=sr71000 \ + |march=xlr: -mips64} \ %{march=mips64r2|march=octeon: -mips64r2} \ %{!march=*: -" MULTILIB_ISA_DEFAULT "}}" @@ -720,7 +721,7 @@ enum mips_code_readable_setting { #define MIPS_ARCH_FLOAT_SPEC \ "%{mhard-float|msoft-float|march=mips*:; \ march=vr41*|march=m4k|march=4k*|march=24kc|march=24kec \ - |march=34kc|march=74kc|march=5kc|march=octeon: -msoft-float; \ + |march=34kc|march=74kc|march=5kc|march=octeon|march=xlr: -msoft-float; \ march=*: -mhard-float}" /* A spec condition that matches 32-bit options. It only works if diff --git a/gcc/config/mips/xlr.md b/gcc/config/mips/xlr.md index 21550ba12d9..69913b7b2fb 100644 --- a/gcc/config/mips/xlr.md +++ b/gcc/config/mips/xlr.md @@ -1,5 +1,5 @@ ;; DFA-based pipeline description for the XLR. -;; Copyright (C) 2008 Free Software Foundation, Inc. +;; Copyright (C) 2008, 2009 Free Software Foundation, Inc. ;; ;; xlr.md Machine Description for the RMI XLR Microprocessor ;; This file is part of GCC. @@ -31,7 +31,7 @@ ;; Integer arithmetic instructions. (define_insn_reservation "ir_xlr_alu" 1 (and (eq_attr "cpu" "xlr") - (eq_attr "type" "arith,shift,clz,const,unknown,multi,nop,trap")) + (eq_attr "type" "move,arith,shift,clz,logical,signext,const,unknown,multi,nop,trap")) "xlr_main_pipe") ;; Integer arithmetic instructions. |

