On Thu, Mar 09, 2017 at 05:15:40PM -0600, Segher Boessenkool wrote:
> On Thu, Mar 09, 2017 at 05:59:39PM +0100, Jakub Jelinek wrote:
> > On Thu, Mar 09, 2017 at 10:52:52AM -0600, Will Schmidt wrote:
> > > Per PR79941, we are folding the vec_mul{e,o}* operations improperly. Those
> > > entries were added to the intrinsics-to-be-folded list where the generic
> > > multiplies should have been instead.  Test coverage in place was for the
> > > generic multiplies, and this was missed by my testing.
> > > 
> > > The mul[eo]* unsigned operations were missing entries in 
> > > builtin_function_type()
> > > to indicate the overloaded arguments were unsigned.  This is corrected 
> > > here,
> > > and those operations now fold accurately to the desired instruction.
> > 
> > This looks good to me, but I'll defer the actual review to PowerPC
> > maintainers.  Perhaps there was some hidden reason (xlC compatibility,
> > whatever) that said that vmuleub etc. should have signed vector arguments
> > and result.
> > 
> > Also, I'd like to understand what those ALTIVEC_BUILTIN_VMULEUH_UNS etc.
> > codes are for (the builtin doesn't seem to be user accessible).
> 
> It used to be, but that was removed when mult-even was removed (which
> seems to be the only thing it was used for).  Mike, do you remember?

I don't recall.  Perhaps it is related to:

2016-12-19  Will Schmidt  <will_schm...@vnet.ibm.com>

        * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add handling for
        early expansion of vector multiply and subtract builtins.

-- 
Michael Meissner, IBM
IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA
email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797

Reply via email to