OSDN Git Service

* config/sh/sh.c (sh_register_move_cost): Add case for moving
authorkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 3 Oct 2005 22:07:08 +0000 (22:07 +0000)
committerkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 3 Oct 2005 22:07:08 +0000 (22:07 +0000)
from T_REGS to FP register class.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104916 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 957ac6c..9bdcb05 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 8e6333b..c90185a 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;