https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70240
--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Richard Henderson from comment #7) > It appears that if we take some advice from PR68714 #c6, > adjusting the gimplification of VEC_COND_EXPR, that alone > fixes the original PR68215. > > If we then revert r231575, this bug is resolved. > > Thoughts? Yes, I think the fix for PR68215 was too aggressive given that gimplification of COND_EXPRs isn't really fully supported when we are in GIMPLE already as all paths that generate control-flow need to be avoided. Which means we have to gimplify at least the true/false values but not the conditional after we apply PR68714#6. So I'd go for that, revert PR68215 and apply PR68714#6. And yes, in the end we should avoid going through the gimplifier at all as Jakub says but that's not something for stage4.