https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112661
--- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Richard Sandiford from comment #8) > I think we're going down the wrong path here. If I've understood > the original change correctly, dummy masks aren't special because > they're masks. They're special because all elements are equal to > the same value. A mask such as: > > { 1, 1, 1, 0, 1 } > > would not be OK, just like an integer vector with those values would > not be OK. > > So IMO we should check whether all elements are equal, rather than > whether the type is one thing or another. So do we expect - independed of whether a constant/external is used as mask - that uniform constants/externals are generatable and thus we can elide the check for those? Possibly also go a different path during code-generation then? (because that will otherwise assert)