https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106339
Bug ID: 106339 Summary: [13 Regression] ICE in exact_div, at poly-int.h:2232 Product: gcc Version: 13.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- Target: aarch64-linux-gnu gcc-13.0.0 20220717 snapshot (g:7bcd7f47359b903bf7a193b95d4450d9d69c60ba) ICEs when compiling the following testcase w/ -march=armv8-a+sve -O1 -ftree-slp-vectorize -fno-tree-dse: long int v; void foo (void) { v = 0; v = 1; } % aarch64-linux-gnu-gcc-13.0.0 -march=armv8-a+sve -O1 -ftree-slp-vectorize -fno-tree-dse -c ilufi874.c during GIMPLE pass: slp ilufi874.c: In function 'foo': ilufi874.c:4:1: internal compiler error: in exact_div, at poly-int.h:2232 4 | foo (void) | ^~~ 0x7cd715 poly_int<2u, poly_result<unsigned long, if_nonpoly<int, int, poly_int_traits<int>::is_poly>::type, poly_coeff_pair_traits<unsigned long, if_nonpoly<int, int, poly_int_traits<int>::is_poly>::type>::result_kind>::type> exact_div<2u, unsigned long, int>(poly_int_pod<2u, unsigned long> const&, int) /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220717/work/gcc-13-20220717/gcc/poly-int.h:2232 0x7ce24a poly_int<2u, poly_result<unsigned long, if_nonpoly<int, int, poly_int_traits<int>::is_poly>::type, poly_coeff_pair_traits<unsigned long, if_nonpoly<int, int, poly_int_traits<int>::is_poly>::type>::result_kind>::type> exact_div<2u, unsigned long, int>(poly_int_pod<2u, unsigned long> const&, int) /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220717/work/gcc-13-20220717/gcc/tree.h:3631 0x7ce24a can_duplicate_and_interleave_p(vec_info*, unsigned int, tree_node*, unsigned int*, tree_node**, tree_node**) /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220717/work/gcc-13-20220717/gcc/tree-vect-slp.cc:413 0x11d590f vect_get_and_check_slp_defs /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220717/work/gcc-13-20220717/gcc/tree-vect-slp.cc:645 0x11da87a vect_build_slp_tree_2 /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220717/work/gcc-13-20220717/gcc/tree-vect-slp.cc:2177 0x11da0c8 vect_build_slp_tree /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220717/work/gcc-13-20220717/gcc/tree-vect-slp.cc:1572 0x11dea05 vect_build_slp_instance /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220717/work/gcc-13-20220717/gcc/tree-vect-slp.cc:3076 0x11dfef5 vect_analyze_slp_instance /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220717/work/gcc-13-20220717/gcc/tree-vect-slp.cc:3401 0x11e3245 vect_analyze_slp(vec_info*, unsigned int) /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220717/work/gcc-13-20220717/gcc/tree-vect-slp.cc:3434 0x11eb3b9 vect_slp_analyze_bb_1 /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220717/work/gcc-13-20220717/gcc/tree-vect-slp.cc:5875 0x11eb3b9 vect_slp_region /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220717/work/gcc-13-20220717/gcc/tree-vect-slp.cc:5977 0x11ecdb3 vect_slp_bbs /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220717/work/gcc-13-20220717/gcc/tree-vect-slp.cc:6168 0x11ed18c vect_slp_function(function*) /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220717/work/gcc-13-20220717/gcc/tree-vect-slp.cc:6256 0x11f50d2 execute /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220717/work/gcc-13-20220717/gcc/tree-vectorizer.cc:1532