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

            Bug ID: 62075
           Summary: [4.8/4.9/4.10 Regression] Vectorizer ICE on dolphin
           Product: gcc
           Version: 4.9.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jakub at gcc dot gnu.org

int a[16][2];
struct A
{
  int b[16][2];
  int c[16][1];
};

void
foo (struct A *x)
{
  int i;
  for (i = 0; i < 16; ++i)
    {
      x->b[i][0] = a[i][0];
      x->c[i][0] = 0 != a[i][0];
      x->b[i][1] = a[i][1];
    }
}

ICEs at -O3, starting with r180057 (before that we wouldn't attempt to
vectorize it):
rh1127840-a.ii: In function ‘foo’:
rh1127840-a.ii:9:1: internal compiler error: in vect_get_vec_def_for_operand,
at tree-vect-stmts.c:1451
 foo (struct A *x)
 ^
0xe10dc5 vect_get_vec_def_for_operand(tree_node*, gimple_statement_base*,
tree_node**)
    ../../gcc/tree-vect-stmts.c:1451
0xe22228 vectorizable_condition(gimple_statement_base*, gimple_stmt_iterator*,
gimple_statement_base**, tree_node*, int, _slp_tree*)
    ../../gcc/tree-vect-stmts.c:6818
0xe237d1 vect_transform_stmt(gimple_statement_base*, gimple_stmt_iterator*,
bool*, _slp_tree*, _slp_instance*)
    ../../gcc/tree-vect-stmts.c:7228
0xe37c22 vect_transform_loop(_loop_vec_info*)
    ../../gcc/tree-vect-loop.c:6079
0xe4c8fb vectorize_loops()
    ../../gcc/tree-vectorizer.c:478
0xd5086b execute
    ../../gcc/tree-ssa-loop.c:232
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.

Reply via email to