diff options
author | Oleg Endo <olegendo@gcc.gnu.org> | 2012-04-06 12:29:30 +0000 |
---|---|---|
committer | Oleg Endo <olegendo@gcc.gnu.org> | 2012-04-06 12:29:30 +0000 |
commit | 10c17a58ae6ae5dbcd83f1ecc92db7d5001811cb (patch) | |
tree | ae9e253dc8102d3f741d0ad9a3840abb172719e0 | |
parent | aaf701c5e19cc94f0f6362058fac7bd80a8ab58b (diff) | |
download | gcc-10c17a58ae6ae5dbcd83f1ecc92db7d5001811cb.zip gcc-10c17a58ae6ae5dbcd83f1ecc92db7d5001811cb.tar.gz gcc-10c17a58ae6ae5dbcd83f1ecc92db7d5001811cb.tar.bz2 |
sh-protos.h (sh_expand_t_scc): Change return type from int to bool.
* config/sh/sh-protos.h (sh_expand_t_scc): Change return type from int
to bool.
* config/sh/sh.c (sh_expand_t_scc): Likewise.
* config/sh/sh.md (cstoresi4, cstoredi4): Remove GET_CODE checks before
calling sh_expand_t_scc.
From-SVN: r186184
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/sh/sh-protos.h | 2 | ||||
-rw-r--r-- | gcc/config/sh/sh.c | 10 | ||||
-rw-r--r-- | gcc/config/sh/sh.md | 6 |
4 files changed, 16 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 78faf46..ea39b2f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,13 @@ 2012-04-06 Oleg Endo <olegendo@gcc.gnu.org> + * config/sh/sh-protos.h (sh_expand_t_scc): Change return type from int + to bool. + * config/sh/sh.c (sh_expand_t_scc): Likewise. + * config/sh/sh.md (cstoresi4, cstoredi4): Remove GET_CODE checks before + calling sh_expand_t_scc. + +2012-04-06 Oleg Endo <olegendo@gcc.gnu.org> + * config/sh/sh-protos.h (fp_zero_operand, fp_one_operand, nonpic_symbol_mentioned_p, expand_block_move, expand_ashiftrt, sh_dynamicalize_shift_p, gen_shl_and, gen_shl_sext, system_reg_operand, diff --git a/gcc/config/sh/sh-protos.h b/gcc/config/sh/sh-protos.h index 337d80d..97442c4 100644 --- a/gcc/config/sh/sh-protos.h +++ b/gcc/config/sh/sh-protos.h @@ -117,7 +117,7 @@ extern int sh_insn_length_adjustment (rtx); extern bool sh_can_redirect_branch (rtx, rtx); extern void sh_expand_unop_v2sf (enum rtx_code, rtx, rtx); extern void sh_expand_binop_v2sf (enum rtx_code, rtx, rtx, rtx); -extern int sh_expand_t_scc (rtx *); +extern bool sh_expand_t_scc (rtx *); extern rtx sh_gen_truncate (enum machine_mode, rtx, int); extern bool sh_vector_mode_supported_p (enum machine_mode); #endif /* RTX_CODE */ diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index d7c4c61..0a6f71d 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -11998,7 +11998,7 @@ sh_get_pr_initial_val (void) return val; } -int +bool sh_expand_t_scc (rtx operands[]) { enum rtx_code code = GET_CODE (operands[1]); @@ -12010,21 +12010,21 @@ sh_expand_t_scc (rtx operands[]) if (!REG_P (op0) || REGNO (op0) != T_REG || !CONST_INT_P (op1)) - return 0; + return false; if (!REG_P (result)) result = gen_reg_rtx (SImode); val = INTVAL (op1); if ((code == EQ && val == 1) || (code == NE && val == 0)) emit_insn (gen_movt (result)); else if ((code == EQ && val == 0) || (code == NE && val == 1)) - emit_insn (gen_movnegt (result)); + emit_insn (gen_movnegt (result)); else if (code == EQ || code == NE) emit_insn (gen_move_insn (result, GEN_INT (code == NE))); else - return 0; + return false; if (result != target) emit_move_insn (target, result); - return 1; + return true; } /* INSN is an sfunc; return the rtx that describes the address used. */ diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md index f5bcae2..dd7ff66 100644 --- a/gcc/config/sh/sh.md +++ b/gcc/config/sh/sh.md @@ -9575,8 +9575,7 @@ label: DONE; } - if ((GET_CODE (operands[1]) == EQ || GET_CODE (operands[1]) == NE) - && sh_expand_t_scc (operands)) + if (sh_expand_t_scc (operands)) DONE; if (! currently_expanding_to_rtl) @@ -9600,8 +9599,7 @@ label: DONE; } - if ((GET_CODE (operands[1]) == EQ || GET_CODE (operands[1]) == NE) - && sh_expand_t_scc (operands)) + if (sh_expand_t_scc (operands)) DONE; if (! currently_expanding_to_rtl) |