https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92677
Bug ID: 92677 Summary: [10 Regression] ICE in get_group_load_store_type, at tree-vect-stmts.c:2261 since r271704 Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: alejandro at gcc dot gnu.org Target Milestone: --- Starting from the following revision I see: $ cat vect.i int a, c; int *b; long d; double *e; void fn1() { long f; double g, h; while (c) { if (d) { g = *e; *(b + 4) = g; } if (f) { h = *(e + 2); *(b + 6) = h; } e += a; b += 8; c--; d += 2; } } $ gcc vect.i -c -mavx2 -O3 during GIMPLE pass: vect vect.i: In function ‘fn1’: vect.i:6:6: internal compiler error: in get_group_load_store_type, at tree-vect-stmts.c:2261 6 | void fn1() { | ^~~ 0x7289ae get_group_load_store_type ../../gcc/tree-vect-stmts.c:2261 0x7289ae get_load_store_type ../../gcc/tree-vect-stmts.c:2475 0x1021b1a vectorizable_load ../../gcc/tree-vect-stmts.c:8717 0x1039905 vect_analyze_stmt(_stmt_vec_info*, bool*, _slp_tree*, _slp_instance*, vec<stmt_info_for_cost, va_heap, vl_ptr>*) ../../gcc/tree-vect-stmts.c:10846 0x1051ef3 vect_analyze_loop_operations ../../gcc/tree-vect-loop.c:1608 0x1051ef3 vect_analyze_loop_2 ../../gcc/tree-vect-loop.c:2139 0x1051ef3 vect_analyze_loop(loop*, vec_info_shared*) ../../gcc/tree-vect-loop.c:2554 0x1070ed4 try_vectorize_loop_1 ../../gcc/tree-vectorizer.c:892 0x10718d9 vectorize_loops() ../../gcc/tree-vectorizer.c:1125 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.