https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62631
Eric Botcazou <ebotcazou at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Component|tree-optimization |target Assignee|unassigned at gcc dot gnu.org |ebotcazou at gcc dot gnu.org --- Comment #10 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- > * For the mult part, rtx_code calls sparc_rtx_cost, which has > > case MULT: > if (float_mode_p) > *total = sparc_costs->float_mul; > else if (! TARGET_HARD_MUL) > *total = COSTS_N_INSNS (25); > > On SPARCv9/-m64, TARGET_HARD_MUL is false, so we get the 25*4 = 100 part, > unlike v8, which explains why the test only fails for 64-bit. Ugh, thanks for spotting it, this looks like an annoying oversight.