Re: [PATCH] PR88497 - Extend reassoc for vector bit_field_ref

2019-03-11 Thread Kewen.Lin
on 2019/3/11 下午6:24, Richard Biener wrote: > On Mon, 11 Mar 2019, Kewen.Lin wrote: > >> on 2019/3/8 下午6:57, Richard Biener wrote: >>> On Fri, Mar 8, 2019 at 2:40 AM Kewen.Lin wrote: Hi, As PR88497 (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88497), when we meet some cod

Re: [PATCH] PR88497 - Extend reassoc for vector bit_field_ref

2019-03-11 Thread Richard Biener
On Mon, 11 Mar 2019, Kewen.Lin wrote: > on 2019/3/8 下午6:57, Richard Biener wrote: > > On Fri, Mar 8, 2019 at 2:40 AM Kewen.Lin wrote: > >> > >> Hi, > >> > >> As PR88497 (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88497), > >> when we meet some code pattern like: > >> > >>V1[0] + V1[1] + ...

Re: [PATCH] PR88497 - Extend reassoc for vector bit_field_ref

2019-03-10 Thread Kewen.Lin
on 2019/3/8 下午6:57, Richard Biener wrote: > On Fri, Mar 8, 2019 at 2:40 AM Kewen.Lin wrote: >> >> Hi, >> >> As PR88497 (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88497), >> when we meet some code pattern like: >> >>V1[0] + V1[1] + ... + V1[k] + V2[0] + ... + V2[k] + ... Vn[k] >>// V1...

Re: [PATCH] PR88497 - Extend reassoc for vector bit_field_ref

2019-03-08 Thread Segher Boessenkool
Hi Kewen, Just one quick note: On Fri, Mar 08, 2019 at 09:40:30AM +0800, Kewen.Lin wrote: > --- /dev/null > +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr88497.c > @@ -0,0 +1,18 @@ > +/* { dg-do compile } */ > +/* { dg-options "-O2 -ffast-math -fdump-tree-reassoc1" } */ > +typedef double v2df __attribute

Re: [PATCH] PR88497 - Extend reassoc for vector bit_field_ref

2019-03-08 Thread Richard Biener
On Fri, Mar 8, 2019 at 2:40 AM Kewen.Lin wrote: > > Hi, > > As PR88497 (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88497), > when we meet some code pattern like: > >V1[0] + V1[1] + ... + V1[k] + V2[0] + ... + V2[k] + ... Vn[k] >// V1...Vn of VECTOR_TYPE > > We can teach reassoc to transf

[PATCH] PR88497 - Extend reassoc for vector bit_field_ref

2019-03-07 Thread Kewen.Lin
Hi, As PR88497 (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88497), when we meet some code pattern like: V1[0] + V1[1] + ... + V1[k] + V2[0] + ... + V2[k] + ... Vn[k] // V1...Vn of VECTOR_TYPE We can teach reassoc to transform it to: Vs = (V1 + V2 + ... + Vn) Vs[0] + Vs[1] + ..