This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH]: Machine independent patch, was: Update SSE5 vector multiplication, shift, rotate
- From: Richard Guenther <rguenther at suse dot de>
- To: Andrew Pinski <pinskia at gmail dot com>
- Cc: Paolo Bonzini <bonzini at gnu dot org>, Michael Meissner <michael dot meissner at amd dot com>, Uros Bizjak <ubizjak at gmail dot com>, gcc-patches at gcc dot gnu dot org, dwarak dot rajagopal at amd dot com, christophe dot harle at amd dot com, hongjiu dot lu at intel dot com
- Date: Wed, 23 Apr 2008 10:16:54 +0200 (CEST)
- Subject: Re: [PATCH]: Machine independent patch, was: Update SSE5 vector multiplication, shift, rotate
- References: <20080417185036.GA15776@mmeissner-gold.amd.com> <20080418212901.GA30924@mmeissner-gold.amd.com> <Pine.LNX.4.64.0804190007230.4180@zhemvz.fhfr.qr> <20080418223845.GA13657@mmeissner-gold.amd.com> <Pine.LNX.4.64.0804191357020.4180@zhemvz.fhfr.qr> <20080421225247.GA10310@mmeissner-gold.amd.com> <Pine.LNX.4.64.0804221008180.4130@zhemvz.fhfr.qr> <20080422150738.GA12807@mmeissner-gold.amd.com> <Pine.LNX.4.64.0804221724390.4130@zhemvz.fhfr.qr> <480E06BB.7060704@gnu.org> <de8d50360804221127u4802884braf9554aa0ce3a8e2@mail.gmail.com>
On Tue, 22 Apr 2008, Andrew Pinski wrote:
> On Tue, Apr 22, 2008 at 8:39 AM, Paolo Bonzini <bonzini@gnu.org> wrote:
> > I agree a lot with this (Michael's). OTOH if you want to go the other way,
> > I attach a patch to convert the SPU port (mostly untested); this goes with
> > the patch I already posted for AltiVec.
>
> Actually is there a reason why we need an extra vector << scalar ?
> Can't we have it match with vec_duplicate and have the tree level
> always accept vector shift vector including the tree vectorizer
> producing that? The SPU part already does this for constants really
> with the 'W' constraint.
The only reason I see is if a machine supports both shifting the whole
vector and shifting the elements by a scalar. You cannot easily
distinguish these cases (unless you require a (subreg:TI (reg:V4SI))
as operand or so)
Richard.
- References:
- [PATCH]: Update SSE5 vector multiplication, shift, rotate
- Re: [PATCH]: Machine independent patch, was: Update SSE5 vector multiplication, shift, rotate
- Re: [PATCH]: Machine independent patch, was: Update SSE5 vector multiplication, shift, rotate
- Re: [PATCH]: Machine independent patch, was: Update SSE5 vector multiplication, shift, rotate
- Re: [PATCH]: Machine independent patch, was: Update SSE5 vector multiplication, shift, rotate
- Re: [PATCH]: Machine independent patch, was: Update SSE5 vector multiplication, shift, rotate
- Re: [PATCH]: Machine independent patch, was: Update SSE5 vector multiplication, shift, rotate
- Re: [PATCH]: Machine independent patch, was: Update SSE5 vector multiplication, shift, rotate
- Re: [PATCH]: Machine independent patch, was: Update SSE5 vector multiplication, shift, rotate
- Re: [PATCH]: Machine independent patch, was: Update SSE5 vector multiplication, shift, rotate
- Re: [PATCH]: Machine independent patch, was: Update SSE5 vector multiplication, shift, rotate