Commit b7c89afe by Tom Rix Committed by Tom Rix

Generate constant for shift once.

From-SVN: r52644
parent 6067f1fe
2002-04-22 Tom Rix <trix@redhat.com>
* expmed.c (init_expmed): Generate shifted constant once.
2002-04-22 Zack Weinberg <zack@codesourcery.com> 2002-04-22 Zack Weinberg <zack@codesourcery.com>
* c-lex.c (lex_charconst): Call convert to get constant in * c-lex.c (lex_charconst): Call convert to get constant in
......
...@@ -144,19 +144,18 @@ init_expmed () ...@@ -144,19 +144,18 @@ init_expmed ()
for (m = 1; m < MAX_BITS_PER_WORD; m++) for (m = 1; m < MAX_BITS_PER_WORD; m++)
{ {
rtx c_int = GEN_INT ((HOST_WIDE_INT) 1 << m);
shift_cost[m] = shiftadd_cost[m] = shiftsub_cost[m] = 32000; shift_cost[m] = shiftadd_cost[m] = shiftsub_cost[m] = 32000;
XEXP (SET_SRC (PATTERN (shift_insn)), 1) = GEN_INT (m); XEXP (SET_SRC (PATTERN (shift_insn)), 1) = GEN_INT (m);
if (recog (PATTERN (shift_insn), shift_insn, &dummy) >= 0) if (recog (PATTERN (shift_insn), shift_insn, &dummy) >= 0)
shift_cost[m] = rtx_cost (SET_SRC (PATTERN (shift_insn)), SET); shift_cost[m] = rtx_cost (SET_SRC (PATTERN (shift_insn)), SET);
XEXP (XEXP (SET_SRC (PATTERN (shiftadd_insn)), 0), 1) XEXP (XEXP (SET_SRC (PATTERN (shiftadd_insn)), 0), 1) = c_int;
= GEN_INT ((HOST_WIDE_INT) 1 << m);
if (recog (PATTERN (shiftadd_insn), shiftadd_insn, &dummy) >= 0) if (recog (PATTERN (shiftadd_insn), shiftadd_insn, &dummy) >= 0)
shiftadd_cost[m] = rtx_cost (SET_SRC (PATTERN (shiftadd_insn)), SET); shiftadd_cost[m] = rtx_cost (SET_SRC (PATTERN (shiftadd_insn)), SET);
XEXP (XEXP (SET_SRC (PATTERN (shiftsub_insn)), 0), 1) XEXP (XEXP (SET_SRC (PATTERN (shiftsub_insn)), 0), 1) = c_int;
= GEN_INT ((HOST_WIDE_INT) 1 << m);
if (recog (PATTERN (shiftsub_insn), shiftsub_insn, &dummy) >= 0) if (recog (PATTERN (shiftsub_insn), shiftsub_insn, &dummy) >= 0)
shiftsub_cost[m] = rtx_cost (SET_SRC (PATTERN (shiftsub_insn)), SET); shiftsub_cost[m] = rtx_cost (SET_SRC (PATTERN (shiftsub_insn)), SET);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment