Re: [RFC][tree-vect]PR 88915: Further vectorize second loop when versioning

2019-08-05 Thread Andre Vieira (lists)
Hi Richard, Thanks for the feedback! See comments inline. On 01/08/2019 16:26, Richard Biener wrote: On Tue, 30 Jul 2019, Andre Vieira (lists) wrote: On 30/07/2019 13:16, Andre Vieira (lists) wrote: Hi Richard, I believe this is in line with what you were explaining to me earlier. The

Re: [RFC][tree-vect]PR 88915: Further vectorize second loop when versioning

2019-08-01 Thread Richard Biener
On Tue, 30 Jul 2019, Andre Vieira (lists) wrote: > > > On 30/07/2019 13:16, Andre Vieira (lists) wrote: > > Hi Richard, > > > > I believe this is in line with what you were explaining to me earlier. The > > one thing I haven't quite done here is the jump around for if there is no > > prolog

Re: [RFC][tree-vect]PR 88915: Further vectorize second loop when versioning

2019-07-30 Thread Andre Vieira (lists)
On 30/07/2019 13:16, Andre Vieira (lists) wrote: Hi Richard, I believe this is in line with what you were explaining to me earlier. The one thing I haven't quite done here is the jump around for if there is no prolog peeling. Though I think skip_vectors introduces the jumping we need.

Re: [RFC][tree-vect]PR 88915: Further vectorize second loop when versioning

2019-07-30 Thread Andre Vieira (lists)
Hi Richard, I believe this is in line with what you were explaining to me earlier. The one thing I haven't quite done here is the jump around for if there is no prolog peeling. Though I think skip_vectors introduces the jumping we need. The main gist of it is: 1) if '--param

Re: [RFC][tree-vect]PR 88915: Further vectorize second loop when versioning

2019-07-19 Thread Andre Vieira (lists)
On 19/07/2019 12:35, Richard Biener wrote: On Fri, 19 Jul 2019, Andre Vieira (lists) wrote: On 15/07/2019 11:54, Richard Biener wrote: On Mon, 15 Jul 2019, Andre Vieira (lists) wrote: On 12/07/2019 11:19, Richard Biener wrote: On Thu, 11 Jul 2019, Andre Vieira (lists) wrote: I

Re: [RFC][tree-vect]PR 88915: Further vectorize second loop when versioning

2019-07-19 Thread Richard Biener
On Fri, 19 Jul 2019, Andre Vieira (lists) wrote: > > > On 15/07/2019 11:54, Richard Biener wrote: > > On Mon, 15 Jul 2019, Andre Vieira (lists) wrote: > > > > > > > > > > > On 12/07/2019 11:19, Richard Biener wrote: > > > > On Thu, 11 Jul 2019, Andre Vieira (lists) wrote: > > > > > > > > >

Re: [RFC][tree-vect]PR 88915: Further vectorize second loop when versioning

2019-07-19 Thread Andre Vieira (lists)
On 15/07/2019 11:54, Richard Biener wrote: On Mon, 15 Jul 2019, Andre Vieira (lists) wrote: On 12/07/2019 11:19, Richard Biener wrote: On Thu, 11 Jul 2019, Andre Vieira (lists) wrote: I have code that can split the condition and alias checks in 'vect_loop_versioning'. For this

Re: [RFC][tree-vect]PR 88915: Further vectorize second loop when versioning

2019-07-15 Thread Richard Biener
On Mon, 15 Jul 2019, Andre Vieira (lists) wrote: > > > On 12/07/2019 11:19, Richard Biener wrote: > > On Thu, 11 Jul 2019, Andre Vieira (lists) wrote: > > > > > > I think for code-size reason it would make sense to do it like > > > >if (iterations_check_for_lowest_VF ()) > > { > >

Re: [RFC][tree-vect]PR 88915: Further vectorize second loop when versioning

2019-07-15 Thread Andre Vieira (lists)
On 12/07/2019 11:19, Richard Biener wrote: On Thu, 11 Jul 2019, Andre Vieira (lists) wrote: I think for code-size reason it would make sense to do it like if (iterations_check_for_lowest_VF ()) { if (alias_check_for_highest_VF ()) {

Re: [RFC][tree-vect]PR 88915: Further vectorize second loop when versioning

2019-07-12 Thread Richard Biener
On Thu, 11 Jul 2019, Andre Vieira (lists) wrote: > Hi Richard(s), > > I am trying to tackle PR88915 and get GCC to further vectorize the "fallback" > loop when doing loop versioning as it does when loop versioning is not > required. > > I have a prototype patch that needs further testing, but

[RFC][tree-vect]PR 88915: Further vectorize second loop when versioning

2019-07-11 Thread Andre Vieira (lists)
Hi Richard(s), I am trying to tackle PR88915 and get GCC to further vectorize the "fallback" loop when doing loop versioning as it does when loop versioning is not required. I have a prototype patch that needs further testing, but at first glance it seems to be achieving the desired