aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJ"orn Rennecke <joern.rennecke@superh.com>2003-05-20 15:48:03 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>2003-05-20 16:48:03 +0100
commita60a9553a1193112da334f4acb4b705c3f4745a5 (patch)
treea6d10f6fbb4dd721d05944dd45424a384fb49749 /gcc
parent669e91abfa0d4790724c482cc09b2e2c3e593824 (diff)
downloadgcc-a60a9553a1193112da334f4acb4b705c3f4745a5.zip
gcc-a60a9553a1193112da334f4acb4b705c3f4745a5.tar.gz
gcc-a60a9553a1193112da334f4acb4b705c3f4745a5.tar.bz2
sh.c (sh_register_move_cost): Add clase for moving between FP registers and MAC registers.
* sh.c (sh_register_move_cost): Add clase for moving between FP registers and MAC registers. From-SVN: r67028
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/sh/sh.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fb77616..b4b1065 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-05-20 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * sh.c (sh_register_move_cost): Add clase for moving between
+ FP registers and MAC registers.
+
2003-05-19 John David Anglin <dave.anglin@nrc-gnrc.gc.ca>
* pa/milli64.S ($$mulI): Fix typo.
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index 45c7769..90bee49 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -8243,6 +8243,10 @@ sh_register_move_cost (mode, srcclass, dstclass)
&& REGCLASS_HAS_FP_REG (dstclass))
return 4;
+ if ((REGCLASS_HAS_FP_REG (dstclass) && srcclass == MAC_REGS)
+ || (dstclass== MAC_REGS && REGCLASS_HAS_FP_REG (srcclass)))
+ return 9;
+
if ((REGCLASS_HAS_FP_REG (dstclass)
&& REGCLASS_HAS_GENERAL_REG (srcclass))
|| (REGCLASS_HAS_GENERAL_REG (dstclass)