diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/sh/sh.md | 10 |
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. |