diff options
author | Kaz Kojima <kkojima@gcc.gnu.org> | 2005-10-03 22:07:08 +0000 |
---|---|---|
committer | Kaz Kojima <kkojima@gcc.gnu.org> | 2005-10-03 22:07:08 +0000 |
commit | 9c24200c8dff9d87007296da7743741df0df3c85 (patch) | |
tree | 9b5f837db319aec6b758d3c71b8d10180614f49c /gcc/config/sh | |
parent | 37150080504338dc8288ac8eeb0cc2636031fd07 (diff) | |
download | gcc-9c24200c8dff9d87007296da7743741df0df3c85.zip gcc-9c24200c8dff9d87007296da7743741df0df3c85.tar.gz gcc-9c24200c8dff9d87007296da7743741df0df3c85.tar.bz2 |
sh.c (sh_register_move_cost): Add case for moving from T_REGS to FP register class.
* config/sh/sh.c (sh_register_move_cost): Add case for moving
from T_REGS to FP register class.
From-SVN: r104916
Diffstat (limited to 'gcc/config/sh')
-rw-r--r-- | gcc/config/sh/sh.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index 8e6333b..c90185a 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; |