http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57286
--- Comment #3 from Marc Glisse <glisse at gcc dot gnu.org> --- Intuitively, I'd say: @@ -10041,7 +10041,7 @@ if (TREE_CODE (arg1) == COND_EXPR || TREE_CODE (arg1) == VEC_COND_EXPR - || COMPARISON_CLASS_P (arg1)) + || (COMPARISON_CLASS_P (arg1) && !VECTOR_TYPE_P (TREE_TYPE (arg1)))) { tem = fold_binary_op_with_conditional_arg (loc, code, type, op0, op1, arg1, arg0, but I don't really have time to think about it right now (meeting).