diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/sh/sh.c | 2 | ||||
-rw-r--r-- | gcc/config/sh/sh.md | 10 |
3 files changed, 7 insertions, 11 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a34a875..d8624b0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2009-05-28 Kaz Kojima <kkojima@gcc.gnu.org> + + * config/sh/sh.c (sh_expand_t_scc): Use gen_xorsi3_movrt + instead of gen_movrt. + * config/sh/sh.md (movrt): Remove. + 2009-05-28 Steve Ellcey <sje@cup.hp.com> * doc/invoke.texi (IA-64 Options) diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index db49b8d..9c9583f 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -11085,7 +11085,7 @@ sh_expand_t_scc (rtx operands[]) emit_insn (gen_movt (result)); else if (TARGET_SH2A && ((code == EQ && val == 0) || (code == NE && val == 1))) - emit_insn (gen_movrt (result)); + emit_insn (gen_xorsi3_movrt (result)); else if ((code == EQ && val == 0) || (code == NE && val == 1)) { emit_clobber (result); diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md index 6f4d1b2..54e7e30 100644 --- a/gcc/config/sh/sh.md +++ b/gcc/config/sh/sh.md @@ -9109,16 +9109,6 @@ mov.l\\t1f,r0\\n\\ "movt %0" [(set_attr "type" "arith")]) -;; complements the T bit and stores the result in a register -(define_insn "movrt" - [(set (match_operand:SI 0 "arith_reg_dest" "=r") - (if_then_else (eq:SI (reg:SI T_REG) (const_int 0)) - (const_int 1) - (const_int 0)))] - "TARGET_SH2A" - "movrt\\t%0" - [(set_attr "type" "arith")]) - (define_expand "cstore4_media" [(set (match_operand:SI 0 "register_operand" "=r") (match_operator:SI 1 "sh_float_comparison_operator" |