http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60896
Bug ID: 60896 Summary: [4.10 Regression] ICE: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1449 Product: gcc Version: 4.10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: trippels at gcc dot gnu.org markus@x4 skia % cat test.ii struct A { int m_fn1 (); short *m_fn2 (); }; struct B { void *fC; }; int a, b; unsigned char i; void fn1 (unsigned char *p1, A &p2) { int c = p2.m_fn1 (); for (int d = 0; c; d++) { short *e = p2.m_fn2 (); unsigned char *f = &p1[0]; for (int g = 0; g < a; g++) { int h = e[0]; b += h * f[g]; } } } void fn2 (A &p1, A &p2, B &p3) { int j = p2.m_fn1 (); for (int k = 0; j; k++) if (0) ; else fn1 (&i, p1); if (p3.fC) ; else ; } markus@x4 skia % g++ -c -O3 test.ii test.ii: In function ‘void fn2(A&, A&, B&)’: test.ii:27:6: internal compiler error: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1449 void fn2 (A &p1, A &p2, B &p3) ^ Please submit a full bug report,