Re: [gomp4] Basic vectorization enablement for #pragma omp simd

2013-05-14 Thread Jakub Jelinek
On Tue, May 14, 2013 at 12:16:07PM +0200, Richard Biener wrote: > Works for me. ... Ok, here is what I've committed to gomp-4_0-branch. tree-vect-data-refs.c was kept (almost) unchanged, as per IRC discussion, something ++todo for the future. 2013-05-14 Jakub Jelinek * cfgloop.h (str

Re: [gomp4] Basic vectorization enablement for #pragma omp simd

2013-05-14 Thread Jakub Jelinek
On Tue, May 14, 2013 at 12:16:07PM +0200, Richard Biener wrote: > > The loop was previously containing EDGE_ABNORMAL edges (that is something > > to prevent any optimizations on those until ompexp had a chance to deal with > > those), so there is no loop at all, just the loop->num == 0 for the whol

Re: [gomp4] Basic vectorization enablement for #pragma omp simd

2013-05-14 Thread Richard Biener
On Tue, 14 May 2013, Jakub Jelinek wrote: > On Tue, May 14, 2013 at 11:28:43AM +0200, Richard Biener wrote: > > > + /* If non-NULL, an INTEGER_CST, where the user asserted that for any > > > + I in [ 0, nb_iterations ) and for any J in > > > + [ I, min ( I + safelen, nb_iterations ) ), th

Re: [gomp4] Basic vectorization enablement for #pragma omp simd

2013-05-14 Thread Jakub Jelinek
On Tue, May 14, 2013 at 11:28:43AM +0200, Richard Biener wrote: > > + /* If non-NULL, an INTEGER_CST, where the user asserted that for any > > + I in [ 0, nb_iterations ) and for any J in > > + [ I, min ( I + safelen, nb_iterations ) ), the Ith and Jth iterations > > + of the loop can

Re: [gomp4] Basic vectorization enablement for #pragma omp simd

2013-05-14 Thread Richard Biener
On Tue, 14 May 2013, Jakub Jelinek wrote: > Hi! > > This patch adds safelen field to struct loop, teaches expand_omp_simd > to set it on the simd loops and then uses it in a few places: > 1) because the loops are explicitly marked for vectorization by the user, >we'll try to ifconvert them an

[gomp4] Basic vectorization enablement for #pragma omp simd

2013-05-13 Thread Jakub Jelinek
Hi! This patch adds safelen field to struct loop, teaches expand_omp_simd to set it on the simd loops and then uses it in a few places: 1) because the loops are explicitly marked for vectorization by the user, we'll try to ifconvert them and vectorize even without -O3, -Ofast or -ftree-vecto