2015-09-18 16:40 GMT+03:00 Ilya Enkovich <enkovich....@gmail.com>: > 2015-09-18 15:22 GMT+03:00 Richard Biener <richard.guent...@gmail.com>: >> >> I was thinking about targets not supporting generating vec<bool> >> (of whatever mode) from a comparison directly but only via >> a COND_EXPR. > > Where may these direct comparisons come from? Vectorizer never > generates unsupported statements. It means we get them from > gimplifier? So touch optabs in gimplifier to avoid direct comparisons? > Actually vect lowering checks if we are able to make comparison and > expand also uses vec_cond to expand vector comparison, so probably we > may live with them. > >> >> Not sure if we are always talking about the same thing for >> "bool patterns". I'd remove bool patterns completely, IMHO >> they are not necessary at all. > > I refer to transformations made by vect_recog_bool_pattern. Don't see > how to remove them completely for targets not supporting comparison > vectorization. > >> >> I think we do allow this, just the vectorizer doesn't expect it. In the long >> run I want to get rid of the GENERIC exprs in both COND_EXPR and >> VEC_COND_EXPR. Just didn't have the time to do this... > > That would be nice. As a first step I'd like to support optabs for > VEC_COND_EXPR directly using vec<bool>. > > Thanks, > Ilya > >> >> Richard.
Hi Richard, Do you think we have enough confidence approach is working and we may start integrating it into trunk? What would be integration plan then? Thanks, Ilya