From 19e1d311ee7e25be77996a1f15682b10c5596c5c Mon Sep 17 00:00:00 2001 From: "J\"orn Rennecke" Date: Sat, 16 Jan 1999 03:02:50 +0000 Subject: * sh.md (movdf, movsf): Temporary workaround for no_new_pseudos lossage. From-SVN: r24692 --- gcc/ChangeLog | 4 ++++ gcc/config/sh/sh.md | 16 +++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) (limited to 'gcc') 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 + + * sh.md (movdf, movsf): Temporary workaround for no_new_pseudos lossage. + Fri Jan 15 23:44:37 1999 Richard Henderson * 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 -- cgit v1.1