Following small test case, extraced from a SPEC2004 benchmark ICEs when compiled with gcc-4.0 and -O1 -ftree-loop-linear
/* test */ void put_atoms_in_triclinic_unitcell(float x[][3]) { int i=0,d; while (x[i][3] < 0) for (d=0; d<=3; d++) x[i][d] = 0; while (x[i][3] >= 0) for (d=0; d<=3; d++) x[i][d] = 0; } % gcc-4.0 -c bad.c -O1 -ftree-loop-linear bad.c: In function 'put_atoms_in_triclinic_unitcell': bad.c:2: internal compiler error: in build_classic_dist_vector, at tree-data-ref.c:1871 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. -- Summary: ICE with -O1 -ftree-loop-linear on small test case Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: fjahanian at apple dot com CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: apple-ppc-darwin GCC host triplet: apple-ppc-darwin GCC target triplet: apple-ppc-darwin http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18792