https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68776
--- Comment #6 from rguenther at suse dot de <rguenther at suse dot de> --- On December 17, 2015 4:19:00 PM GMT+01:00, "wschmidt at gcc dot gnu.org" <gcc-bugzi...@gcc.gnu.org> wrote: >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. But if ppc can do int mult the mult pattern should not apply...