[RFC] Try vector<bool> as a new representation for vector masks
Wed Sep 23 13:46:00 GMT 2015
2015-09-18 16:40 GMT+03:00 Ilya Enkovich <email@example.com>:
> 2015-09-18 15:22 GMT+03:00 Richard Biener <firstname.lastname@example.org>:
>> 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
>> 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>.
Do you think we have enough confidence approach is working and we may
start integrating it into trunk? What would be integration plan then?
More information about the Gcc-patches