diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 957ac6cfdd2a..9bdcb056f407 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-10-03 Kaz Kojima + + * config/sh/sh.c (sh_register_move_cost): Add case for moving + from T_REGS to FP register class. + 2005-10-03 Richard Henderson PR 24135 diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index 8e6333bd4321..c90185abd23f 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -9491,6 +9491,9 @@ sh_register_move_cost (enum machine_mode mode, && REGCLASS_HAS_FP_REG (dstclass)) return 4; + if (REGCLASS_HAS_FP_REG (dstclass) && srcclass == T_REGS) + return ((TARGET_HARD_SH4 && !optimize_size) ? 10 : 7); + if ((REGCLASS_HAS_FP_REG (dstclass) && srcclass == MAC_REGS) || (dstclass == MAC_REGS && REGCLASS_HAS_FP_REG (srcclass))) return 9;