https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69282
--- Comment #12 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #5) > The vect generic issue is really gimple_buildN should be using > STRIP_USELESS_TYPE_CONVERSION rather than STRIP_NOPS. ? vect generic doesn't use gimple_buildN but it uses the GENERIC folders and the gimplifier. It _should_ use gimple_build () instead... > Note this code should > assuming the fold_buildN would not produce a NOP_EXPR (cast) from one type > to another; that is it did not expect a == 0? 0 : 1 be convert into (int)a. > > Note also the produced code is garbage as we go from vectorized code to non > vectorized code. Yeah, this shouldn't happen if the code is produced by the vectorizer (which is supposed to create only supported code that doesn't require lowering). > I am still looking into a generic fix for VEC_COND_EXPR issue.