aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/sh
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@redhat.com>2001-01-09 14:23:50 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2001-01-09 14:23:50 +0000
commit7894cb27533072c0c2f49e39d937722dd62ef7c2 (patch)
treed78edc13c1dca740f1a1c1fce49c4d03610a9627 /gcc/config/sh
parent186c0fbe03c0b420d7164796a7e19688f1fa0ceb (diff)
downloadgcc-7894cb27533072c0c2f49e39d937722dd62ef7c2.zip
gcc-7894cb27533072c0c2f49e39d937722dd62ef7c2.tar.gz
gcc-7894cb27533072c0c2f49e39d937722dd62ef7c2.tar.bz2
sh.md (reload_outsf): Generate recognizable patterns for TARGET_SH3E.
* sh.md (reload_outsf): Generate recognizable patterns for TARGET_SH3E. From-SVN: r38832
Diffstat (limited to 'gcc/config/sh')
-rw-r--r--gcc/config/sh/sh.md10
1 files changed, 9 insertions, 1 deletions
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.