diff options
author | J"orn Rennecke <joern.rennecke@st.com> | 2009-04-25 11:43:36 +0000 |
---|---|---|
committer | J"orn Rennecke <joern.rennecke@st.com> | 2009-04-25 11:43:36 +0000 |
commit | c606bdc39a4a41f0e3c02074703dd2a84b4b97f3 (patch) | |
tree | d9d786df70f78abe37c0445f667e6581792f272d | |
parent | f9d18cdd5eb5a0a1aeb8c7a2f2dde4643caa05d3 (diff) |
* config/sh/sh.md (cbranchsi4): Use UNKNOWN as not-defined rtx code.
(cbranchdi4): Likewise.
* config/sh/sh.c (prepare_cbranch_operands): Likewise.
(expand_cbranchdi4): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/multi-target-4_4-branch@146767 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/sh/sh.c | 22 | ||||
-rw-r--r-- | gcc/config/sh/sh.md | 8 |
3 files changed, 22 insertions, 15 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4ed2e3fe64f..55b430cc11d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2009-04-25 J"orn Rennecke <joern.rennecke@arc.com> + + * config/sh/sh.md (cbranchsi4): Use UNKNOWN as not-defined rtx code. + (cbranchdi4): Likewise. + * config/sh/sh.c (prepare_cbranch_operands): Likewise. + (expand_cbranchdi4): Likewise. + 2009-04-24 J"orn Rennecke <joern.rennecke@arc.com> config/sh/t-sh: (gt-sh.h): Remove redundant rule. diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index c8f4c85ee75..e231766a457 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -1375,7 +1375,7 @@ prepare_cbranch_operands (rtx *operands, enum machine_mode mode, rtx op1; rtx scratch = NULL_RTX; - if (comparison == CODE_FOR_nothing) + if (comparison == UNKNOWN) comparison = GET_CODE (operands[0]); else scratch = operands[4]; @@ -1515,7 +1515,7 @@ expand_cbranchdi4 (rtx *operands, enum rtx_code comparison) op2h = gen_highpart_mode (SImode, DImode, operands[2]); op1l = gen_lowpart (SImode, operands[1]); op2l = gen_lowpart (SImode, operands[2]); - msw_taken = msw_skip = lsw_taken = CODE_FOR_nothing; + msw_taken = msw_skip = lsw_taken = UNKNOWN; prob = split_branch_probability; rev_prob = REG_BR_PROB_BASE - prob; switch (comparison) @@ -1606,9 +1606,9 @@ expand_cbranchdi4 (rtx *operands, enum rtx_code comparison) break; default: return false; } - num_branches = ((msw_taken != CODE_FOR_nothing) - + (msw_skip != CODE_FOR_nothing) - + (lsw_taken != CODE_FOR_nothing)); + num_branches = ((msw_taken != UNKNOWN) + + (msw_skip != UNKNOWN) + + (lsw_taken != UNKNOWN)); if (comparison != EQ && comparison != NE && num_branches > 1) { if (!CONSTANT_P (operands[2]) @@ -1634,20 +1634,20 @@ expand_cbranchdi4 (rtx *operands, enum rtx_code comparison) operands[4] = NULL_RTX; if (reload_completed && ! arith_reg_or_0_operand (op2h, SImode) && true_regnum (op1h) - && (msw_taken != CODE_FOR_nothing || msw_skip != CODE_FOR_nothing)) + && (msw_taken != UNKNOWN || msw_skip != UNKNOWN)) { emit_move_insn (scratch, operands[2]); operands[2] = scratch; } - if (msw_taken != CODE_FOR_nothing) + if (msw_taken != UNKNOWN) expand_cbranchsi4 (operands, msw_taken, msw_taken_prob); - if (msw_skip != CODE_FOR_nothing) + if (msw_skip != UNKNOWN) { rtx taken_label = operands[3]; /* Operands were possibly modified, but msw_skip doesn't expect this. Always use the original ones. */ - if (msw_taken != CODE_FOR_nothing) + if (msw_taken != UNKNOWN) { operands[1] = op1h; operands[2] = op2h; @@ -1659,14 +1659,14 @@ expand_cbranchdi4 (rtx *operands, enum rtx_code comparison) } operands[1] = op1l; operands[2] = op2l; - if (lsw_taken != CODE_FOR_nothing) + if (lsw_taken != UNKNOWN) { if (reload_completed && ! arith_reg_or_0_operand (op2l, SImode) && true_regnum (op1l)) operands[4] = scratch; expand_cbranchsi4 (operands, lsw_taken, lsw_taken_prob); } - if (msw_skip != CODE_FOR_nothing) + if (msw_skip != UNKNOWN) emit_label (skip_label); return true; } diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md index f494493fd63..b6221ff35eb 100644 --- a/gcc/config/sh/sh.md +++ b/gcc/config/sh/sh.md @@ -647,7 +647,7 @@ (pc))) (clobber (reg:SI T_REG))] "TARGET_CBRANCHDI4" - "expand_cbranchsi4 (operands, CODE_FOR_nothing, -1); DONE;") + "expand_cbranchsi4 (operands, UNKNOWN, -1); DONE;") ;; ------------------------------------------------------------------------- ;; SImode unsigned integer comparisons @@ -720,13 +720,13 @@ if (TARGET_EXPAND_CBRANCHDI4) { - if (expand_cbranchdi4 (operands, CODE_FOR_nothing)) + if (expand_cbranchdi4 (operands, UNKNOWN)) DONE; } - comparison = prepare_cbranch_operands (operands, DImode, CODE_FOR_nothing); + comparison = prepare_cbranch_operands (operands, DImode, UNKNOWN); if (comparison != GET_CODE (operands[0])) operands[0] - = gen_rtx_fmt_ee (VOIDmode, comparison, operands[1], operands[2]); + = gen_rtx_fmt_ee (comparison, VOIDmode, operands[1], operands[2]); operands[4] = gen_rtx_SCRATCH (SImode); }") |