aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/sh
diff options
context:
space:
mode:
authorJ"orn Rennecke <amylaar@cygnus.co.uk>1999-01-16 03:02:50 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>1999-01-16 03:02:50 +0000
commit19e1d311ee7e25be77996a1f15682b10c5596c5c (patch)
tree940e0a7ebace784aabd4b76d7028929e83b265c8 /gcc/config/sh
parent1b8b517b1a18ffe4824acfdece01f74bfde34df2 (diff)
downloadgcc-19e1d311ee7e25be77996a1f15682b10c5596c5c.zip
gcc-19e1d311ee7e25be77996a1f15682b10c5596c5c.tar.gz
gcc-19e1d311ee7e25be77996a1f15682b10c5596c5c.tar.bz2
* sh.md (movdf, movsf): Temporary workaround for no_new_pseudos lossage.
From-SVN: r24692
Diffstat (limited to 'gcc/config/sh')
-rw-r--r--gcc/config/sh/sh.md16
1 files changed, 15 insertions, 1 deletions
diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md
index 8dde68e..29979cd 100644
--- a/gcc/config/sh/sh.md
+++ b/gcc/config/sh/sh.md
@@ -1,5 +1,5 @@
;;- Machine description for the Hitachi SH.
-;; Copyright (C) 1993, 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+;; Copyright (C) 1993 - 1999 Free Software Foundation, Inc.
;; Contributed by Steve Chamberlain (sac@cygnus.com).
;; Improved by Jim Wilson (wilson@cygnus.com).
@@ -2786,6 +2786,13 @@
if (prepare_move_operands (operands, DFmode)) DONE;
if (TARGET_SH4)
{
+ if (no_new_pseudos)
+ {
+ /* ??? FIXME: This is only a stopgap fix. There is no guarantee
+ that fpscr is in the right state. */
+ emit_insn (gen_movdf_i4 (operands[0], operands[1], get_fpscr_rtx ()));
+ DONE;
+ }
emit_df_insn (gen_movdf_i4 (operands[0], operands[1], get_fpscr_rtx ()));
/* We need something to tag possible REG_LIBCALL notes on to. */
if (TARGET_FPU_SINGLE && rtx_equal_function_value_matters
@@ -2875,6 +2882,13 @@
DONE;
if (TARGET_SH3E)
{
+ if (no_new_pseudos)
+ {
+ /* ??? FIXME: This is only a stopgap fix. There is no guarantee
+ that fpscr is in the right state. */
+ emit_insn (gen_movsf_ie (operands[0], operands[1], get_fpscr_rtx ()));
+ DONE;
+ }
emit_sf_insn (gen_movsf_ie (operands[0], operands[1], get_fpscr_rtx ()));
/* We need something to tag possible REG_LIBCALL notes on to. */
if (! TARGET_FPU_SINGLE && rtx_equal_function_value_matters