[Bug tree-optimization/127195] [17 Regression] ice in flow_bb_inside_loop_p at cfgloop.cc:846
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Sep 3 07:52:14 GMT 2026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127195
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Caused by the vect_create_constant_vectors changes. We end up with
number_of_places_left_in_vector == 4 from
(gdb) p debug (op_node)
t.c:11:6: note: node (external) 0x55036c0 (refcnt=1) vector(16) unsigned char
t.c:11:6: note: { _6 }
$20 = void
(gdb) p nunits
$21 = 16
(gdb) p excess_elts
$22 = 12
and fail to emit the ctor_seq because we never reach zero.
number_of_copies is 16, group_size is 1.
So somehow number_of_copies is wrong, it's computed as
number_of_copies = nunits * number_of_vectors / group_size;
the vectorization factor is 4. I think number_of_copies should be
number_of_copies = (nunits * number_of_vectors - excess_elts) / group_size;
More information about the Gcc-bugs
mailing list