This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] (4.1 stage 2 projects): vectorize reduction, part 2/n

> This patch implements detection and vectorization of reduction.
> (1) In 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:
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
> * gcc.dg/vect/vect-reduc-2.c: Likewise.

cause it allows vectorization of reduction without specialized target



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]