summaryrefslogtreecommitdiff
path: root/gcc/config/mips/mips.c
diff options
context:
space:
mode:
authorrts <rts@138bc75d-0d04-0410-961f-82ee72b054a4>2015-07-22 12:46:09 +0000
committerrts <rts@138bc75d-0d04-0410-961f-82ee72b054a4>2015-07-22 12:46:09 +0000
commit68fb4349e2f34ca0b79add810f0fe005cb56060a (patch)
treed13d8ad31aeb588af6e7f7f946bcb1fe56e4067d /gcc/config/mips/mips.c
parent606d0d6e6004f841d225cd7ae8dcd5ac033b6f94 (diff)
downloadgcc-68fb4349e2f34ca0b79add810f0fe005cb56060a.tar.gz
Add scheduling for M51xx core family.
gcc/ * config/mips/m5100.md: New file. * config/mips/mips-cpus.def (m5100, m5101): Define. * config/mips/mips-tables.opt: Regenerate. * config/mips/mips.c (mips_rtx_cost_data): Add costs for m5100. * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=m5100 and -march=m5101 to -mips32r5. (MIPS_ARCH_FLOAT_SPEC): Map -m5101 to -msoft-float. (MIPS_ISA_NAN2008_SPEC): Map -march=m51* to -mnan=2008 if !-msoft-float. * config/mips/mips.md: Include m5100.md. (processor): Add m5100. * doc/invoke.texi (-march=@var{arch}): Add m5100, m5101. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226066 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/mips/mips.c')
-rw-r--r--gcc/config/mips/mips.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index c32532b0721..c3cd52d20b0 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -1280,6 +1280,19 @@ static const struct mips_rtx_cost_data
COSTS_N_INSNS (41), /* int_div_di */
1, /* branch_cost */
4 /* memory_latency */
+ },
+ { /* M5100 */
+ COSTS_N_INSNS (4), /* fp_add */
+ COSTS_N_INSNS (4), /* fp_mult_sf */
+ COSTS_N_INSNS (5), /* fp_mult_df */
+ COSTS_N_INSNS (17), /* fp_div_sf */
+ COSTS_N_INSNS (32), /* fp_div_df */
+ COSTS_N_INSNS (5), /* int_mult_si */
+ COSTS_N_INSNS (5), /* int_mult_di */
+ COSTS_N_INSNS (34), /* int_div_si */
+ COSTS_N_INSNS (68), /* int_div_di */
+ 1, /* branch_cost */
+ 4 /* memory_latency */
}
};