https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115723
--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The assert that is being hitting: bool cond_fn_p = code.is_internal_fn () && conditional_internal_fn_code (internal_fn (code)) != ERROR_MARK; if (cond_fn_p) { gcc_assert (code == IFN_COND_ADD || code == IFN_COND_SUB || code == IFN_COND_MUL || code == IFN_COND_AND || code == IFN_COND_IOR || code == IFN_COND_XOR || code == IFN_COND_MIN || code == IFN_COND_MAX); gcc_assert (op.num_ops == 4 && (op.ops[reduc_index] == op.ops[internal_fn_else_index ((internal_fn) code)])); }