Re: [PATCH] PR/67682, break SLP groups up if only some elements match

2015-11-18 Thread Richard Biener
On Tue, Nov 17, 2015 at 5:46 PM, Alan Lawrence wrote: > On 16/11/15 14:42, Christophe Lyon wrote: >> >> >> Hi Alan, >> >> I've noticed that this new test (gcc.dg/vect/bb-slp-subgroups-3.c) >> fails for armeb targets. >> I haven't had time to look at more details yet, but I

Re: [PATCH] PR/67682, break SLP groups up if only some elements match

2015-11-17 Thread Alan Lawrence
On 16/11/15 14:42, Christophe Lyon wrote: Hi Alan, I've noticed that this new test (gcc.dg/vect/bb-slp-subgroups-3.c) fails for armeb targets. I haven't had time to look at more details yet, but I guess you can reproduce it quickly enough. Thanks - yes I see it now. -fdump-tree-optimized

Re: [PATCH] PR/67682, break SLP groups up if only some elements match

2015-11-16 Thread Christophe Lyon
On 13 November 2015 at 17:18, Alan Lawrence wrote: > On 10/11/15 12:51, Richard Biener wrote: >>> >>> Just noticing this... if we have a vectorization factor of 4 and matches >>> is 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 then this will split into 1, 1, 1, 1 >>> and >>> 1, 1,

Re: [PATCH] PR/67682, break SLP groups up if only some elements match

2015-11-13 Thread Alan Lawrence
On 10/11/15 12:51, Richard Biener wrote: >> >> Just noticing this... if we have a vectorization factor of 4 and matches >> is 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 then this will split into 1, 1, 1, 1 >> and >> 1, 1, 0, 0, 0, ... where we know from the matches that it will again fail? >> >> Thus

Re: [PATCH] PR/67682, break SLP groups up if only some elements match

2015-11-10 Thread Richard Biener
On Mon, Nov 9, 2015 at 3:59 PM, Alan Lawrence wrote: > On 06/11/15 12:55, Richard Biener wrote: >> >>> + /* GROUP_GAP of the first group now has to skip over the second group >>> too. */ >>> + GROUP_GAP (first_vinfo) += group2_size; >> >> Please add a MSG_NOTE debug

Re: [PATCH] PR/67682, break SLP groups up if only some elements match

2015-11-10 Thread Richard Biener
On Tue, Nov 10, 2015 at 1:45 PM, Richard Biener wrote: > On Mon, Nov 9, 2015 at 3:59 PM, Alan Lawrence wrote: >> On 06/11/15 12:55, Richard Biener wrote: >>> + /* GROUP_GAP of the first group now has to skip over the second group

Re: [PATCH] PR/67682, break SLP groups up if only some elements match

2015-11-09 Thread Alan Lawrence
On 06/11/15 12:55, Richard Biener wrote: > >> + /* GROUP_GAP of the first group now has to skip over the second group >> too. */ >> + GROUP_GAP (first_vinfo) += group2_size; > > Please add a MSG_NOTE debug printf stating that we split the group and > at which element. Done. > I think you

Re: [PATCH] PR/67682, break SLP groups up if only some elements match

2015-11-06 Thread Richard Biener
On Thu, Nov 5, 2015 at 2:33 PM, Alan Lawrence wrote: > On 03/11/15 13:39, Richard Biener wrote: >> On Tue, Oct 27, 2015 at 6:38 PM, Alan Lawrence wrote: >>> >>> Say I...P are consecutive, the input would have gaps 0 1 1 1 1 1 1 1. If we >>> split the

Re: [PATCH] PR/67682, break SLP groups up if only some elements match

2015-11-05 Thread Alan Lawrence
On 03/11/15 13:39, Richard Biener wrote: > On Tue, Oct 27, 2015 at 6:38 PM, Alan Lawrence wrote: >> >> Say I...P are consecutive, the input would have gaps 0 1 1 1 1 1 1 1. If we >> split the load group, we would want subgroups with gaps 0 1 1 1 and 0 1 1 1? > > As said on

Re: [PATCH] PR/67682, break SLP groups up if only some elements match

2015-11-03 Thread Richard Biener
On Tue, Oct 27, 2015 at 6:38 PM, Alan Lawrence wrote: > On 26/10/15 15:04, Richard Biener wrote: >> >> >> apart from the fact that you'll post a new version you need to adjust >> GROUP_GAP. >> You also seem to somewhat "confuse" "first I stmts" and "a group of >> size I",

Re: [PATCH] PR/67682, break SLP groups up if only some elements match

2015-10-27 Thread Alan Lawrence
On 26/10/15 15:04, Richard Biener wrote: apart from the fact that you'll post a new version you need to adjust GROUP_GAP. You also seem to somewhat "confuse" "first I stmts" and "a group of size I", those are not the same when the group has haps. I'd say "a group of size i" makes the most

Re: [PATCH] PR/67682, break SLP groups up if only some elements match

2015-10-26 Thread Richard Biener
On Fri, Oct 23, 2015 at 5:20 PM, Alan Lawrence wrote: > vect_analyze_slp_instance currently only creates an slp_instance if _all_ > stores > in a group fitted the same pattern. This patch splits non-matching groups up > on vector boundaries, allowing only part of the group

Re: [PATCH] PR/67682, break SLP groups up if only some elements match

2015-10-25 Thread Andrew Pinski
On Sun, Oct 25, 2015 at 7:51 PM, Alan Lawrence wrote: > On 23 October 2015 at 16:20, Alan Lawrence wrote: >> diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-7.c >> b/gcc/testsuite/gcc.dg/vect/bb-slp-7.c >> index ab54a48..b012d78 100644 >> ---

Re: [PATCH] PR/67682, break SLP groups up if only some elements match

2015-10-25 Thread Alan Lawrence
On 23 October 2015 at 16:20, Alan Lawrence wrote: > diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-7.c > b/gcc/testsuite/gcc.dg/vect/bb-slp-7.c > index ab54a48..b012d78 100644 > --- a/gcc/testsuite/gcc.dg/vect/bb-slp-7.c > +++ b/gcc/testsuite/gcc.dg/vect/bb-slp-7.c > @@

[PATCH] PR/67682, break SLP groups up if only some elements match

2015-10-23 Thread Alan Lawrence
vect_analyze_slp_instance currently only creates an slp_instance if _all_ stores in a group fitted the same pattern. This patch splits non-matching groups up on vector boundaries, allowing only part of the group to be SLP'd, or multiple subgroups to be SLP'd differently. The algorithm could be