https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71279
--- Comment #3 from Ilya Enkovich <ienkovich at gcc dot gnu.org> --- This looks similar to PR70251 but this time transformation is performed in folding. Here is a description of applied transformation: /* Convert A ? 0 : 1 to !A. This prefers the use of NOT_EXPR over COND_EXPR in cases such as floating point comparisons. */ This doesn't work for boolean vectors with scalar mode. So we should disable transformation for vec_cond_expr or at least for boolean vectors with scalar mode.