Re: rfa: vectorize strided loads [2/2] [PR 18437]

2012-05-17 Thread H.J. Lu
On Sat, Apr 21, 2012 at 11:19 AM, H.J. Lu wrote: > On Sat, Apr 21, 2012 at 11:11 AM, H.J. Lu wrote: >> On Tue, Apr 10, 2012 at 6:46 AM, Michael Matz wrote: >>> Hi, >>> >> >>> Michael. >>> >>>        PR tree-optimization/18437 >>> >>>        * tree-vectorizer.h (_stmt_vec_info.stride_load_p): New

Re: rfa: vectorize strided loads [2/2] [PR 18437]

2012-04-21 Thread H.J. Lu
On Sat, Apr 21, 2012 at 11:11 AM, H.J. Lu wrote: > On Tue, Apr 10, 2012 at 6:46 AM, Michael Matz wrote: >> Hi, >> > >> Michael. >> >>        PR tree-optimization/18437 >> >>        * tree-vectorizer.h (_stmt_vec_info.stride_load_p): New member. >>        (STMT_VINFO_STRIDE_LOAD_P): New accessor.

Re: rfa: vectorize strided loads [2/2] [PR 18437]

2012-04-21 Thread H.J. Lu
On Tue, Apr 10, 2012 at 6:46 AM, Michael Matz wrote: > Hi, > > Michael. > >        PR tree-optimization/18437 > >        * tree-vectorizer.h (_stmt_vec_info.stride_load_p): New member. >        (STMT_VINFO_STRIDE_LOAD_P): New accessor. >        (vect_check_strided_load): Declare. >        * tree-

Re: rfa: vectorize strided loads [2/2] [PR 18437]

2012-04-11 Thread Richard Guenther
On Tue, Apr 10, 2012 at 6:05 PM, Michael Matz wrote: > Hi, > > On Tue, 10 Apr 2012, Richard Guenther wrote: > >> > +         vec_inv = build_constructor (vectype, v); >> > +         new_temp = vect_init_vector (stmt, vec_inv, vectype, gsi); >> > +         new_stmt = SSA_NAME_DEF_STMT (new_temp); >

Re: rfa: vectorize strided loads [2/2] [PR 18437]

2012-04-10 Thread Michael Matz
Hi, On Tue, 10 Apr 2012, Richard Guenther wrote: > > +         vec_inv = build_constructor (vectype, v); > > +         new_temp = vect_init_vector (stmt, vec_inv, vectype, gsi); > > +         new_stmt = SSA_NAME_DEF_STMT (new_temp); > > +         mark_symbols_for_renaming (new_stmt); > > This sh

Re: rfa: vectorize strided loads [2/2] [PR 18437]

2012-04-10 Thread Richard Guenther
On Tue, Apr 10, 2012 at 3:46 PM, Michael Matz wrote: > Hi, > > and this implements generally strided loads where the stride is a > loop-invariant (constant or ssa-name).  We only do so if the load can't be > handled by interleaving groups.  The implementation is fairly straight > forward: > >    

rfa: vectorize strided loads [2/2] [PR 18437]

2012-04-10 Thread Michael Matz
Hi, and this implements generally strided loads where the stride is a loop-invariant (constant or ssa-name). We only do so if the load can't be handled by interleaving groups. The implementation is fairly straight forward: for (i = 0; i < n; i += stride) ... = array[i];