https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114164
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org Ever confirmed|0 |1 Last reconfirmed| |2024-03-01 --- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- Ah, yes - we're not trying to do anything special if the mask and arg mask types have different size - we can handle different number of lanes but we don't try any widening/shortening tricks to make the size match. That said, it looks like we definitely should verify in the vectorizer that we can handle the VEC_COND_EXPR. As of trick missing, we could do v4si ? v4sf : v4sf and then widen to v4df or widen v4si to v4di. Possibly the target could know what's more efficient here. Mine for adding the missing support check.