[patch, vectorizer] Fix PR33953 ICE in vectorizable_operation at tree-vect-transform.c:4017

Ira Rosen IRAR@il.ibm.com
Wed Nov 7 07:33:00 GMT 2007



Dorit Nuzman/Haifa/IBM wrote on 06/11/2007 20:00:32:

> Ira Rosen/Haifa/IBM wrote on 06/11/2007 00:25:02:
>
> > Dorit Nuzman/Haifa/IBM wrote on 06/11/2007 10:20:40:
> >
> ...
> > > > +                     for (k = 0; k < slp_node->vec_stmts_size- 1;
k++)
> > > > +                       VEC_quick_push (tree, vec_oprnds1,
vec_oprnd1);
> > > > +                   }
> > >
> > > would this work also if it was a different (scalar) shift-amounts
> > > for the generated vector stmts? i.e. if the testcase was:
> > >
> > > > +         dstdata[0] |= srcdata[0] << srcshift1;
> > > > +         dstdata[1] |= srcdata[1] << srcshift1;
> > > > +         dstdata[2] |= srcdata[2] << srcshift1;
> > > > +         dstdata[3] |= srcdata[3] << srcshift1;
> > > > +         dstdata[4] |= srcdata[4] << srcshift2;
> > > > +         dstdata[5] |= srcdata[5] << srcshift2;
> > > > +         dstdata[6] |= srcdata[6] << srcshift2;
> > > > +         dstdata[7] |= srcdata[7] << srcshift2;
> > >
> > > ?
> >
> > We check during the analysis that all the shift arguments in case of
> > scalar shift arguments are equal. I will add a comment here to explain
this.
> >
>
> shall we open a missed-optimization PR for this (or add it to the
> todo list in http://gcc.gnu.org/wiki/VectorizationTasks?)

I think I'll add it to the (SLP) todo list.

Ira


>
> thanks,
> dorit
>
> > Thanks,
> > Ira
> >
> > >
> > > thanks,
> > > dorit
> > >



More information about the Gcc-patches mailing list