https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96022
Bug ID: 96022 Summary: ICE during GIMPLE pass: slp in operator[], at vec.h:867 Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: vsevolod.livinskij at frtk dot ru Target Milestone: --- >$ g++ -c -O3 func.cpp during GIMPLE pass: slp func.cpp: In function ‘void test(short int, bool, int)’: func.cpp:3:6: internal compiler error: in operator[], at vec.h:867 3 | void test(short a, bool, int p8) { | ^~~~ 0x850b10 vec<tree_node*, va_heap, vl_embed>::operator[](unsigned int) gcc/vec.h:867 0x850b10 vec<tree_node*, va_heap, vl_ptr>::operator[](unsigned int) gcc/vec.h:1433 0x852d71 vec<tree_node*, va_heap, vl_ptr>::operator[](unsigned int) gcc/tree.h:3424 0x852d71 vectorizable_shift gcc/tree-vect-stmts.c:5492 0x1385aa0 vect_transform_stmt(vec_info*, _stmt_vec_info*, gimple_stmt_iterator*, _slp_tree*, _slp_instance*) gcc/tree-vect-stmts.c:10640 0x13b08e3 vect_schedule_slp_instance gcc/tree-vect-slp.c:4350 0x13b0904 vect_schedule_slp_instance gcc/tree-vect-slp.c:4229 0x13b0904 vect_schedule_slp_instance gcc/tree-vect-slp.c:4229 0x13b72a6 vect_schedule_slp(vec_info*) gcc/tree-vect-slp.c:4465 0x13b9af0 vect_slp_bb_region gcc/tree-vect-slp.c:3303 0x13b9af0 vect_slp_bb(basic_block_def*) gcc/tree-vect-slp.c:3433 0x13bb466 execute gcc/tree-vectorizer.c:1384 Reproducer: extern int arr_6[]; extern char arr_7[] __attribute__((aligned)); void test(short a, bool, int p8) { for (bool b = 0; b < (bool)p8; b = 1) for (short c = 0; c < 5; c++) { arr_6[c] = (long)2 << a - 30574; arr_7[c] = 0; } } GCC version: 11.0.0 20200630 (67ef8cfc1c1d440eafa89a26710bced934a485dc) (GCC)