* sh.md (movdf, movsf): Temporary workaround for no_new_pseudos lossage.
authorJ"orn Rennecke <amylaar@cygnus.co.uk>
Sat, 16 Jan 1999 03:02:50 +0000 (03:02 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Sat, 16 Jan 1999 03:02:50 +0000 (03:02 +0000)
From-SVN: r24692

gcc/ChangeLog
gcc/config/sh/sh.md

index 3d99a1423bdd8ef889be8ea89c445ac20bfe3f36..e981afe09157475d83c48841f887a6315cf54181 100644 (file)
@@ -1,3 +1,7 @@
+Sat Jan 16 10:48:16 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * sh.md (movdf, movsf): Temporary workaround for no_new_pseudos lossage.
+
 Fri Jan 15 23:44:37 1999  Richard Henderson  <rth@cygnus.com>
 
        * sparc.c (sparc_issue): Add hypersparc/sparclite86x entries.
index 8dde68e856f5724db4d297c190d8df60ddf1443f..29979cd13099e101657a690892fbdb58f76e9b1e 100644 (file)
@@ -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).
 
   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
     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