summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>2005-10-03 22:07:08 +0000
committerkkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4>2005-10-03 22:07:08 +0000
commitb7e76f115d5d31fc02b822bd68eea77008f4287f (patch)
tree9b5f837db319aec6b758d3c71b8d10180614f49c
parent09cc38963c57c2bbe26950de6d9461f22ff48a0e (diff)
downloadppe42-gcc-b7e76f115d5d31fc02b822bd68eea77008f4287f.tar.gz
ppe42-gcc-b7e76f115d5d31fc02b822bd68eea77008f4287f.zip
* config/sh/sh.c (sh_register_move_cost): Add case for moving
from T_REGS to FP register class. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104916 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/sh/sh.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 957ac6cfdd2..9bdcb056f40 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index 8e6333bd432..c90185abd23 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;
OpenPOWER on IntegriCloud