OSDN Git Service

(zero_cost): New variable.
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 Mar 1993 11:27:23 +0000 (11:27 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 Mar 1993 11:27:23 +0000 (11:27 +0000)
commit798c4e27789fcbf838b16f17d6a3660de53e044a
treee2a536e0a178b800d607e0e3c39144a2c3181d2e
parent20c2526006c489f1d555cd81279fc6a67ae4e03c
(zero_cost): New variable.
(init_expmed): Always pass some insn to recog.
Set shift_cost[0], shiftadd_cost[0] and shiftsub_cost[0] to something
reasonable.
Compute zero_cost.
(enum alg_code): Remove alg_none; add alg_zero and alg_m.
(struct algorithm): Rename field COEFF to LOG.
(synth_mult): Use new ops alg_zero and alg_m for multiplication by zero and
one, respectively.
Use MIN when helpful.
Be consistent and don't test cost before recursive call.
Don't special-case shift counts of zero; already handled elsewhere.
(expand_mult): First operation is always alg_zero or alg_m; remaining
operations can't be one of those.
Use proper subtargets for computations.
Remove special-cases for shift counts of zero.
Track value computed so far and make REG_EQUAL notes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3786 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/expmed.c