https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99017
Bug ID: 99017 Summary: ICE: Segmentation fault (in vect_bb_vectorization_profitable_p) 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: --- Target: powerpc-*-linux-gnu-gcc gcc-11.0.0-alpha20210207 snapshot (g:3d912941f29c27b2ac7c79b9e7cb2f1150e75758) ICEs when compiling the following testcase, reduced from gcc/testsuite/gcc.dg/torture/pr57569.c, w/ -mcpu=power8 -O3 -fno-tree-fre -ftree-parallelize-loops=2: int e, f, *d; void fn1 (void) { int **g[9][6]; int ***h = &g[6][3]; while (e < ~0) { for (f = 0; f < 6; f++) g[e][f] = &d; e++; } **h = 0; } % powerpc-e300c3-linux-gnu-gcc-11.0.0 -mcpu=power8 -O3 -fno-tree-fre -ftree-parallelize-loops=2 -c pfxmw8d8.c during GIMPLE pass: slp pfxmw8d8.c: In function 'fn1._loopfn.0': pfxmw8d8.c:9:12: internal compiler error: Segmentation fault 9 | while (e < ~0) | ^ 0xe12d26 crash_signal /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20210207/work/gcc-11-20210207/gcc/toplev.c:327 0x10da66f vec<std::pair<unsigned int, stmt_info_for_cost*>, va_heap, vl_embed>::operator[](unsigned int) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20210207/work/gcc-11-20210207/gcc/vec.h:890 0x10da66f vec<std::pair<unsigned int, stmt_info_for_cost*>, va_heap, vl_ptr>::operator[](unsigned int) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20210207/work/gcc-11-20210207/gcc/vec.h:1461 0x10da66f vect_bb_vectorization_profitable_p /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20210207/work/gcc-11-20210207/gcc/tree-vect-slp.c:4433 0x10da66f vect_slp_region /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20210207/work/gcc-11-20210207/gcc/tree-vect-slp.c:4915 0x10da66f vect_slp_bbs /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20210207/work/gcc-11-20210207/gcc/tree-vect-slp.c:5043 0x10dc06c vect_slp_function(function*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20210207/work/gcc-11-20210207/gcc/tree-vect-slp.c:5129 0x10e282a execute /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20210207/work/gcc-11-20210207/gcc/tree-vectorizer.c:1449