https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115602
--- Comment #4 from Sergei Trofimovich <slyfox at gcc dot gnu.org> --- If C example is easier to debug graphviz-10.0.1 exhibits the same ICE. Minimized example: // $ cat gvevent.c.c typedef struct { double x, y; } pointf; struct { pointf focus; double zoom; pointf devscale; char button; pointf oldpointer; } gvevent_motion_job; char gvevent_motion_job_4; double gvevent_motion_pointer_1, gvevent_motion_pointer_0; void gvevent_motion() { double dx = (gvevent_motion_pointer_0 - gvevent_motion_job.oldpointer.x) / gvevent_motion_job.devscale.x, dy = (gvevent_motion_pointer_1 - gvevent_motion_job.oldpointer.y) / gvevent_motion_job.devscale.y; if (dx && dy < .0001) return; switch (gvevent_motion_job_4) case 2: { gvevent_motion_job.focus.x -= dy / gvevent_motion_job.zoom; gvevent_motion_job.focus.y += dx / gvevent_motion_job.zoom; } } Crashing: $ gcc -O2 -c gvevent.c.c -o bug.o during GIMPLE pass: slp gvevent.c.c: In function 'gvevent_motion': gvevent.c.c:13:6: internal compiler error: in vect_schedule_slp_node, at tree-vect-slp.cc:9643 13 | void gvevent_motion() { | ^~~~~~~~~~~~~~