This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] Support vectorization of widening shifts
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Ira Rosen <ira dot rosen at linaro dot org>
- Cc: Ramana Radhakrishnan <ramana dot radhakrishnan at linaro dot org>, gcc-patches at gcc dot gnu dot org, Patch Tracking <patches at linaro dot org>
- Date: Tue, 18 Oct 2011 11:43:43 +0200
- Subject: Re: [patch] Support vectorization of widening shifts
- References: <CAKSNEw512ANrc1U=9MwOfSHV-x5Jou2gad09pNz7Jvi_tt1gHA@mail.gmail.com> <CACUk7=WOuecU95M061T7d2arOhRKVrvHKhf8qu=qDVQ0BXtZHA@mail.gmail.com> <CAKSNEw4m5FirSqekmAyRi5SWqPidqz2kb2=X1r1WQrjwVEjStw@mail.gmail.com> <CAKSNEw7y7iteMsff1DvXagyXL4ZX6Sm9_3i7J9doWB2-fnSe+w@mail.gmail.com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Tue, Oct 18, 2011 at 11:39:22AM +0200, Ira Rosen wrote:
> On 2 October 2011 10:30, Ira Rosen <ira.rosen@linaro.org> wrote:
> > On 29 September 2011 17:30, Ramana Radhakrishnan
> > <ramana.radhakrishnan@linaro.org> wrote:
> >> On 19 September 2011 08:54, Ira Rosen <ira.rosen@linaro.org> wrote:
> >>
> >>>
> >>> Bootstrapped on powerpc64-suse-linux, tested on powerpc64-suse-linux
> >>> and arm-linux-gnueabi
> >>> OK for mainline?
> >>
> >> Sorry I missed this patch. Is there any reason why we need unspecs in
> >> this case ? Can't this be represented by subregs and zero/ sign
> >> extensions in RTL without the UNSPECs ?
>
> I committed the attached patch with Ramana's solution for testing
> +/* Detect widening shift pattern:
>
> + type a_t;
> + TYPE a_T, res_T;
> +
> + S1 a_t = ;
> + S2 a_T = (TYPE) a_t;
> + S3 res_T = a_T << CONST;
> +
> + where type 'TYPE' is at least double the size of type 'type'.
> +
> + Also detect unsgigned cases:
unsigned
Jakub