This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] (4.1 stage 2 projects): vectorize reduction, part 2/n
- From: Dorit Naishlos <DORIT at il dot ibm dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Wed, 15 Jun 2005 23:13:43 +0300
- Subject: Re: [patch] (4.1 stage 2 projects): vectorize reduction, part 2/n
- Reply-to:
- Sensitivity:
> This patch implements detection and vectorization of reduction.
>
...
>
> (1) In http://gcc.gnu.org/ml/gcc-patches/2005-02/msg01407.html we drafted
> additional ways to support the reduction epilog code. The plan is to
> implement:
> if (support direct-reduction)
> generate option 2
> else if (support whole-vector-shift)
> generate option 3
> else
> generate option 4 (scalar computation)
> This patch implements option 2. We also want to implement options 3,4.
>
This part was just added to autovect:
http://gcc.gnu.org/ml/gcc-patches/2005-06/msg01317.html
I intend to submit a patch along these lines for mainline too. I would much
appreciate a review of that patch - mostly the suggested new vector_shift
optab/tree-code, before I prepare it for mainline.
By the way, with that patch we won't need the target keywork vect_reduction
for the testcases:
> * lib/target-supports.exp (check_effective_target_vect_reduction): New.
> * gcc.dg/vect/vect-reduc-1.c: Now vectorizable for vect_reduction
targets.
> * gcc.dg/vect/vect-reduc-2.c: Likewise.
cause it allows vectorization of reduction without specialized target
support.
thanks,
dorit