I noticed this while working on a rs6000 back-end patch and was questioning how I could have caused this failure and then I noticed it was a GC issue and could be reproduced without my patch. Anyways here is the testcase reduced from vect-outer-4m.c: unsigned short in[40 +128]; int main (void) { int i = 0, j = 0; unsigned int diff; unsigned int s=0,sum=0; for (i = 0; i < 40;i++) { diff = 0; for (j = 0; j < 128;j+=8) diff += in[j+i]; s += ((unsigned short)diff>>3); } if (s != sum) abort (); } --- CUT --- Compile with -O2 -ftree-vectorize --param ggc-min-expand=0 --param ggc-min-heapsize=0 -maltivec to reproduce the bug.
-- Summary: [4.4 Regression] ICE with the vectorizer and GC Product: gcc Version: 4.4.0 Status: UNCONFIRMED Keywords: ice-on-valid-code, GC Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pinskia at gcc dot gnu dot org GCC target triplet: powerpc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37574