sh.c (sh_register_move_cost): Add case for moving from T_REGS to FP register class.
authorKaz Kojima <kkojima@gcc.gnu.org>
Mon, 3 Oct 2005 22:07:08 +0000 (22:07 +0000)
committerKaz Kojima <kkojima@gcc.gnu.org>
Mon, 3 Oct 2005 22:07:08 +0000 (22:07 +0000)
* config/sh/sh.c (sh_register_move_cost): Add case for moving
from T_REGS to FP register class.

From-SVN: r104916

gcc/ChangeLog
gcc/config/sh/sh.c

index 957ac6cfdd2a7ebe4fcd1563947f105ff4893889..9bdcb056f4076bbf4971ab716df7df8ad514305d 100644 (file)
@@ -1,3 +1,8 @@
+2005-10-03  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (sh_register_move_cost): Add case for moving
+       from T_REGS to FP register class.
+
 2005-10-03  Richard Henderson  <rth@redhat.com>
 
        PR 24135
index 8e6333bd43214b835b9ffe459aa4d00a11db292a..c90185abd23f765ecd026f81c0e988fc17510dfd 100644 (file)
@@ -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;