https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83253

--- Comment #11 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
OK, for the i386 case, this simply comes down to the following.

 - mult_by_coeff_cost (3, E_SImode, true) returns a cost of 4
 - mult_by_coeff_cost (4, E_SImode, true) returns a cost of 8

Garbage in, garbage out.  These costs are obviously bad.

Either there is something wrong with target costs that is misleading the
expmed.c code into producing these silly values, or the choose_mult_variant
code has something wrong with it.

Reply via email to