https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97241
Bug ID: 97241 Summary: [11 Regression] ICE in vectorizable_reduction, at tree-vect-loop.c:6503 Product: gcc Version: 11.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- gcc-11.0.0-alpha20200927 snapshot (g:e24817aa7a1c6d12039b486ab5ea9b5ee0a46cd4) ICEs when compiling the following testcase w/ -O3 --param max-loop-header-insns=2: short int *ev; int l4; short int a7 (void) { short int uo = ev[0], ie = uo; for (int kp = 0; kp < l4; kp += 4) { uo += ev[kp + 1]; ie += ev[kp]; } return uo + ie; } % gcc-11.0.0 -O3 --param max-loop-header-insns=2 -c u56c7vpf.c during GIMPLE pass: vect u56c7vpf.c: In function 'a7': u56c7vpf.c:5:1: internal compiler error: in vectorizable_reduction, at tree-vect-loop.c:6503 5 | a7 (void) | ^~ 0x70b14d vectorizable_reduction(_loop_vec_info*, _stmt_vec_info*, _slp_tree*, _slp_instance*, vec<stmt_info_for_cost, va_heap, vl_ptr>*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200927/work/gcc-11-20200927/gcc/tree-vect-loop.c:6503 0x1012baf vect_analyze_stmt(vec_info*, _stmt_vec_info*, bool*, _slp_tree*, _slp_instance*, vec<stmt_info_for_cost, va_heap, vl_ptr>*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200927/work/gcc-11-20200927/gcc/tree-vect-stmts.c:10718 0x1046a5b vect_slp_analyze_node_operations_1 /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200927/work/gcc-11-20200927/gcc/tree-vect-slp.c:2814 0x1046a5b vect_slp_analyze_node_operations /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200927/work/gcc-11-20200927/gcc/tree-vect-slp.c:2948 0x1046946 vect_slp_analyze_node_operations /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200927/work/gcc-11-20200927/gcc/tree-vect-slp.c:2940 0x1046946 vect_slp_analyze_node_operations /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200927/work/gcc-11-20200927/gcc/tree-vect-slp.c:2940 0x1046946 vect_slp_analyze_node_operations /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200927/work/gcc-11-20200927/gcc/tree-vect-slp.c:2940 0x1048b06 vect_slp_analyze_operations(vec_info*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200927/work/gcc-11-20200927/gcc/tree-vect-slp.c:3129 0x102bf43 vect_analyze_loop_2 /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200927/work/gcc-11-20200927/gcc/tree-vect-loop.c:2338 0x102bf43 vect_analyze_loop(loop*, vec_info_shared*) /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200927/work/gcc-11-20200927/gcc/tree-vect-loop.c:2799 0x104f761 try_vectorize_loop_1 /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200927/work/gcc-11-20200927/gcc/tree-vectorizer.c:999 0x10501c1 vectorize_loops() /var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200927/work/gcc-11-20200927/gcc/tree-vectorizer.c:1234