https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115531
--- Comment #3 from Tamar Christina <tnfchris at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #1) > I suspect PR 20999 would fix this ... > but we have to be careful since without masked stores, you could still > vectorize this unlike the transformed version. > > Maybe ifcvt can produce a masked store version if this pattern ... doing so during ifcvt forces you to commit to a masked operation. So you loose the ability to not vectorize for non-fully masked architectures. So it's too early. A vector pattern doesn't have this problem. This question was mostly to what degree the vectorizer has support for MASK_STORE as an input. vect_get_vector_types_for_stmt seems to have support for it so it looks like it may work.