aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/sh/sh.md10
2 files changed, 14 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0c297ec..a1aece5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2001-01-09 Bernd Schmidt <bernds@redhat.com>
+
+ * sh.md (reload_outsf): Generate recognizable patterns for
+ TARGET_SH3E.
+
2001-01-09 Neil Booth <neil@daikokuya.demon.co.uk>
* c-lang.c (lang_hooks): Update.
diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md
index 1acbdf3..dbd9759 100644
--- a/gcc/config/sh/sh.md
+++ b/gcc/config/sh/sh.md
@@ -2961,7 +2961,15 @@
(match_dup 2))
(clobber (scratch:SI))])]
""
- "")
+ "
+{
+ if (TARGET_SH3E)
+ {
+ emit_insn (gen_movsf_ie (operands[2], operands[1], get_fpscr_rtx ()));
+ emit_insn (gen_movsf_ie (operands[0], operands[2], get_fpscr_rtx ()));
+ DONE;
+ }
+}")
;; If the output is a register and the input is memory or a register, we have
;; to be careful and see which word needs to be loaded first.