(zero_cost): New variable.
authorRichard Kenner <kenner@gcc.gnu.org>
Fri, 19 Mar 1993 11:27:23 +0000 (06:27 -0500)
committerRichard Kenner <kenner@gcc.gnu.org>
Fri, 19 Mar 1993 11:27:23 +0000 (06:27 -0500)
commitb385aeda3f7428271d3b2ef8e6ff3801cffd3f95
treee2a536e0a178b800d607e0e3c39144a2c3181d2e
parent337633f9c613670b07b4309cf92469e89f3f6685
(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.

From-SVN: r3786
gcc/expmed.c