https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68445

            Bug ID: 68445
           Summary: ICE: internal compiler error: in operator[], at vec.h
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: pthaugen at gcc dot gnu.org
                CC: bergner at gcc dot gnu.org, dje at gcc dot gnu.org
  Target Milestone: ---
              Host: powerpc64-unknown-linux-gnu
            Target: powerpc64-unknown-linux-gnu
             Build: powerpc64-unknown-linux-gnu

See the following using current trunk (r230619).

[pthaugen@igoo delta]$ cat junk.c
void IMB_double_fast_x (float *destf, int *dest, int y, float *p1f)
{
  int i;
  for (i = y; i > 0; i--)
    {
          *dest++ = 0;
          destf[0] = destf[4] = p1f[0];
          destf[1] = destf[5] = p1f[1];
          destf[2] = destf[6] = p1f[2];
          destf[3] = destf[7] = p1f[3];
          destf += 8;
          p1f += 4;
    }
}


[pthaugen@igoo delta]$ ~/install/gcc/trunk/bin/gcc -c -O3 -mcpu=power8 junk.c
junk.c: In function ‘IMB_double_fast_x’:
junk.c:1:6: internal compiler error: in operator[], at vec.h:714
 void IMB_double_fast_x (float *destf, int *dest, int y, float *p1f)
      ^~~~~~~~~~~~~~~~~

0x10aedf43 vec<tree_node*, va_heap, vl_embed>::operator[](unsigned int)
        /home/pthaugen/src/gcc/trunk/gcc/gcc/vec.h:714
0x10aedf43 vec<tree_node*, va_heap, vl_ptr>::operator[](unsigned int)
        /home/pthaugen/src/gcc/trunk/gcc/gcc/vec.h:1180
0x10aedf43 vect_create_mask_and_perm
        /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-vect-slp.c:3195
0x10aedf43 vect_transform_slp_perm_load(_slp_tree*, vec<tree_node*, va_heap,
vl_ptr>, gimple_stmt_iterator*, int, _slp_instance*, bool)
        /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-vect-slp.c:3458
0x10abf86b vectorizable_load
        /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-vect-stmts.c:7196
0x10aca8cf vect_transform_stmt(gimple*, gimple_stmt_iterator*, bool*,
_slp_tree*, _slp_instance*)
        /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-vect-stmts.c:8046
0x10af2737 vect_schedule_slp_instance
        /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-vect-slp.c:3608
0x10af27b7 vect_schedule_slp_instance
        /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-vect-slp.c:3489
0x10af3057 vect_schedule_slp(vec_info*)
        /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-vect-slp.c:3673
0x10ad4a03 vect_transform_loop(_loop_vec_info*)
        /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-vect-loop.c:6747
0x10afcdbb vectorize_loops()
        /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-vectorizer.c:548
0x109d2103 execute
        /home/pthaugen/src/gcc/trunk/gcc/gcc/tree-ssa-loop.c:276

Reply via email to