https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81537
Bug ID: 81537 Summary: ice in vect_is_simple_reduction Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: dcb314 at hotmail dot com Target Milestone: --- The following C code, when compiled by -O3 on recent revisions, does this: /home/dcb/gcc/results.250361/bin/gcc /home/dcb/gcc/results.250426/bin/gcc during GIMPLE pass: vect bug372.c: In function âfâ: bug372.c:8:1: internal compiler error: Segmentation fault f(g) { ^ 0xc6298f crash_signal ../../trunk/gcc/toplev.c:338 0xefca68 vect_is_simple_reduction ../../trunk/gcc/tree-vect-loop.c:3165 0xf00978 vect_force_simple_reduction(_loop_vec_info*, gimple*, bool*, bool) ../../trunk/gcc/tree-vect-loop.c:3298 0xf00978 vect_analyze_scalar_cycles_1 ../../trunk/gcc/tree-vect-loop.c:857 The problem seems to exist between revision 250361 and 250426. Code is typedef h; typedef k; a; b; c; d; e; f(g) { h *i = &e; k *j; if (d -= b) for (; *j; *j += 1) { g = g || (a = e ? c = j : 0) + *i; i = &d; } }