This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] [PATCH, rs6000] Fix pr79941 (v2)
- From: Segher Boessenkool <segher at kernel dot crashing dot org>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: Will Schmidt <will_schmidt at vnet dot ibm dot com>, gcc-patches at gcc dot gnu dot org, wschmidt at linux dot vnet dot ibm dot com, meissner at gcc dot gnu dot org
- Date: Thu, 9 Mar 2017 17:15:40 -0600
- Subject: Re: [PATCH] [PATCH, rs6000] Fix pr79941 (v2)
- Authentication-results: sourceware.org; auth=none
- References: <20170309165252.29568.7508.stgit@brimstone.rchland.ibm.com> <20170309165939.GJ22703@tucnak>
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?
Segher