https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93428
Bug ID: 93428 Summary: [10 Regression] ICE in vect_transform_slp_perm_load Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: ice-on-invalid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- Target: x86_64-unknown-linux-gnu gcc-10.0.0-alpha20200119 snapshot (g:3684bbb022cd75da55e1457673f269980aa12cdf) ICEs when compiling the following testcase w/ -O1 -ftree-slp-vectorize: void br (void) { int qp[8]; int (*ai)[8]; ai[0][0] = qp; ai = qp[17] + 1; ai[0][0] = qp[0] + qp[1] + 1 >> 1; ai[0][1] = qp[1] + qp[2] + 1 >> 1; ai[0][2] = qp[2] + qp[3] + 1 >> 1; ai[0][3] = qp[3] + qp[4] + 1 >> 1; ai[0][4] = qp[4] + qp[5] + 1 >> 1; ai[0][5] = qp[5] + qp[6] + 1 >> 1; ai[0][6] = qp[6] + qp[7] + 1 >> 1; ai[0][7] = qp[7] + qp[8] + 1 >> 1; ai[1][0] = qp[0] + qp[1] + 2 * qp[0] + 1 >> 2; ai[1][1] = qp[0] + qp[2] + 2 * qp[1] + 1 >> 2; ai[1][2] = qp[1] + qp[3] + 2 * qp[2] + 1 >> 2; ai[1][3] = qp[2] + qp[4] + 2 * qp[3] + 1 >> 2; ai[1][4] = qp[3] + qp[5] + 2 * qp[4] + 1 >> 2; ai[1][5] = qp[4] + qp[6] + 2 * qp[5] + 1 >> 2; ai[1][6] = qp[5] + qp[7] + 2 * qp[6] + 1 >> 2; ai[1][7] = qp[6] + qp[8] + 2 * qp[7] + 1 >> 2; } % x86_64-unknown-linux-gnu-gcc-10.0.0-alpha20200119 -O1 -ftree-slp-vectorize -w -c tyjjlqhg.c during GIMPLE pass: slp tyjjlqhg.c: In function 'br': tyjjlqhg.c:2:1: internal compiler error: in vect_transform_slp_perm_load, at tree-vect-slp.c:4045 2 | br (void) | ^~ 0x6f3919 vect_transform_slp_perm_load(_slp_tree*, vec<tree_node*, va_heap, vl_ptr>, gimple_stmt_iterator*, poly_int<1u, unsigned long>, _slp_instance*, bool, unsigned int*) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/tree-vect-slp.c:4045 0xfc7ad9 vectorizable_load /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/tree-vect-stmts.c:9767 0xfdcc90 vect_transform_stmt(_stmt_vec_info*, gimple_stmt_iterator*, _slp_tree*, _slp_instance*) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/tree-vect-stmts.c:10989 0x100ca59 vect_schedule_slp_instance /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/tree-vect-slp.c:4235 0x100cb03 vect_schedule_slp_instance /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/tree-vect-slp.c:4127 0x100cb03 vect_schedule_slp_instance /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/tree-vect-slp.c:4127 0x100cb03 vect_schedule_slp_instance /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/tree-vect-slp.c:4127 0x100cb03 vect_schedule_slp_instance /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/tree-vect-slp.c:4127 0x100d9cf vect_schedule_slp(vec_info*) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/tree-vect-slp.c:4358 0x100e6da vect_slp_bb_region /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/tree-vect-slp.c:3323 0x100e6da vect_slp_bb(basic_block_def*) /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/tree-vect-slp.c:3446 0x101037f execute /var/tmp/portage/sys-devel/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/tree-vectorizer.c:1320