https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78938
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to rguent...@suse.de from comment #3) > I believe the bool patterns were supposed to handle this case but > at the time I fixed its time/size complexity issues we IIRC ended up > effectively disabling them for x86 with no fallout -- this may be > the fallout. So I'd figure out why the bool patterns stuff does not > trigger here first. IIRC the "effective disabling" was due to > some target optab/hook check that always returns true on x86 > (and thus possibly needs to be changed to check for a bad "mix" of > VECTOR_BOOLEAN kinds) The bool patterns generally do something different, attempt to translate bool operations into integral operations of some reasonable size. That is not what is needed here. Anyway, before we talk about vect patterns, the first question is if vectorizable_condition should handle this by itself (increase its complexity), or fail. If the latter, then after it fails there is another question if we want to do something about it in tree-vect-patterns.c or not.