[patch, vectorizer] Fix PR33953 ICE in vectorizable_operation at tree-vect-transform.c:4017
Dorit Nuzman
DORIT@il.ibm.com
Tue Nov 6 17:57:00 GMT 2007
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?)
thanks,
dorit
> Thanks,
> Ira
>
> >
> > thanks,
> > dorit
> >
More information about the Gcc-patches
mailing list