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.

Reply via email to