https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103641
Roger Sayle <roger at nextmovesoftware dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |roger at nextmovesoftware dot com --- Comment #18 from Roger Sayle <roger at nextmovesoftware dot com> --- Hm. PR 87256 was much easier to diagnose, as the cost of multiplication on hppa64 was 20-30 ALU instructions, so a single pathological multiplier would combinatorially challenge synth_mult. The new costs on AArch64 have a vector multiplication cost of 4, which is very reasonable. But I did see somewhere in Andre's patch that had an ALU cost of COSTS_N_INSNS(0), which would fool synth_mult that it's allowed/beneficial to use an infinite number of ALU instructions to avoid a single multiplication. Likewise, the very cheap (free) shifts on ARM. But this is just guess work; a reduced testcase that exhibits the problem would be helpful.