https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68776
--- Comment #5 from Bill Schmidt <wschmidt at gcc dot gnu.org> --- (In reply to Bill Schmidt from comment #4) > Yep. I'll verify the fix and commit today if all goes well. Thanks for the > investigation! Actually, looking at check_effective_target_vect_int_mult, this won't work (and I've confirmed it doesn't): if { ([istarget powerpc*-*-*] && ![istarget powerpc-*-linux*paired*]) || [istarget spu-*-*] || [istarget i?86-*-*] || [istarget x86_64-*-*] || [istarget ia64-*-*] || [istarget aarch64*-*-*] || [check_effective_target_arm32] } { set et_vect_int_mult_saved 1 So the proposal will still expect powerpc64le to find 2 instances instead of 4. I've verified that we are generating the expected widening multiplication sequences for foo and bar, and generating 32-bit multiplies for baz.