https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88031
Bug ID: 88031 Summary: ice in vectorizable_reduction, at tree-vect-loop.c:6953 Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: dcb314 at hotmail dot com Target Milestone: --- For this C code: int a[512]; int b; void d() { unsigned char c; for (; b; b++) { c = 1; for (; c; c <<= 1) { a[b] <<= 8; if (b & c) a[b] = 1; } } } compiled with recent gcc trunk and compiler flag -O3, does this: bug478.c:3:6: internal compiler error: in vectorizable_reduction, at tree-vect-loop.c:6953 3 | void d() { | ^ 0x2d4e1ee vectorizable_reduction(_stmt_vec_info*, gimple_stmt_iterator*, _stmt_vec_info**, _slp_tree*, _slp_instance*, vec<stmt_info_for_cost, va_heap, vl_ptr>*) ../../trunk/gcc/tree-vect-loop.c:6953 gcc was fine at revision 265907, but had gone wrong by 265980