https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115959
--- Comment #3 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>: https://gcc.gnu.org/g:24689b84b8ec0c74c2b9a72ec4fb467069806bda commit r15-2093-g24689b84b8ec0c74c2b9a72ec4fb467069806bda Author: Richard Biener <rguent...@suse.de> Date: Wed Jul 17 11:42:13 2024 +0200 tree-optimization/115959 - ICE with SLP condition reduction The following fixes how during reduction epilogue generation we gather conditional compares for condition reductions, thereby following the reduction chain via STMT_VINFO_REDUC_IDX. The issue is that SLP nodes for COND_EXPRs can have either three or four children dependent on whether we have legacy GENERIC expressions in the transitional pattern GIMPLE for the COND_EXPR condition. PR tree-optimization/115959 * tree-vect-loop.cc (vect_create_epilog_for_reduction): Get at the REDUC_IDX child in a safer way for COND_EXPR nodes. * gcc.dg/vect/pr115959.c: New testcase.