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

Reply via email to