diff options
author | J"orn Rennecke <amylaar@cygnus.co.uk> | 1999-01-16 03:02:50 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 1999-01-16 03:02:50 +0000 |
commit | 19e1d311ee7e25be77996a1f15682b10c5596c5c (patch) | |
tree | 940e0a7ebace784aabd4b76d7028929e83b265c8 | |
parent | 1b8b517b1a18ffe4824acfdece01f74bfde34df2 (diff) | |
download | gcc-19e1d311ee7e25be77996a1f15682b10c5596c5c.zip gcc-19e1d311ee7e25be77996a1f15682b10c5596c5c.tar.gz gcc-19e1d311ee7e25be77996a1f15682b10c5596c5c.tar.bz2 |
* sh.md (movdf, movsf): Temporary workaround for no_new_pseudos lossage.
From-SVN: r24692
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/sh/sh.md | 16 |
2 files changed, 19 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3d99a14..e981afe 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. 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 |