This is the mail archive of the gcc-patches@gcc.gnu.org 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] Auto vectorize cond expr (remaining patches)



On Apr 9, 2005, at 3:15 PM, Devang Patel wrote:


This patch adds support to 1) vectorize conditional
expressions (using vec_cond_optab). 2) It also adds support to check
dependence distance wrt vectorization factor. This work was
presented in two different patches in sept. (along with 4 other
patches but these two missed GCC 4.0 train.). This patches are
used in autovect-branch and apple-ppc-branch since last 6 months.

I found one of these, I think,


http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02889.html

but not the other, and even the one basically has no commentary
on what you're trying to do.

Yes, this message is the last in this thread. The basic idea is simple.
If dependence distance is more than vectorization factor then it
does not prevent vectorization. If dependence distance is zero then
also it does not hurt vectorization.


Another is at

http://gcc.gnu.org/ml/gcc-patches/2004-09/msg01768.html

and it has some info and pointers to other messages. I included
dependence vector patch together because now it is very small
thanks to other changes in vectorizer.

I definitely want them split back into separate patches.

Here is the patch for distance vector only. I will CC you when I send separate patch for vector conditions.


2005-04-11 Devang Patel <dpatel@apple.com>


        * tree-data-ref.c (build_classic_dist_vector,
        compute_subscript_distance): Make externally visible.
        * tree-data-ref.h (build_classic_dist_vector,
        compute_subscript_distance): Same.
        * tree-vect-analyze.c (vect_analyze_data_ref_dependence):
        Check distance vector against vectorization factor.
        (vect_analyze_loop): Determine vectorizaion factor before
        analyzing data dependences.
        * tree-vectorizer.c (loops_num): Make it externally visible and
        rename ...
        * tree-vectorizer.c (vect_loops_num): ... new name.
        * tree-vectorizer.h  (vect_loops_num): New.

        * gcc.dg/vect/vect-dv-1.c: New test.
        * gcc.dg/vect/vect-dv-2.c: New test.

-
Devang

Attachment: av-distance-vect.diff
Description: Binary data



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