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)]));
}