https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71488
--- Comment #7 from rguenther at suse dot de <rguenther at suse dot de> --- On Tue, 14 Jun 2016, ienkovich at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71488 > > --- Comment #6 from Ilya Enkovich <ienkovich at gcc dot gnu.org> --- > I think we should disable vectorization of boolean comparison (except '==' and > '!=') and handle them applying patterns. E.g. a > b ==> a & !b, a >= b ==> a > | > !b etc. Bitwise operations are better because work for both vector and scalar > masks. Sounds reasonable though less patterns are IMHO better (patterns should be only used when combining N > 1 scalar stmts to M >= 1 new scalar stmts, single scalar stmts can be handled in complex ways in the vectorizable_* functions).