With the following code gcc-4.1 and 4.2 ICE when using "-O3 -ftree-vectorize". The latest checkout I have of 4.0 worked just fine.
struct re_pattern_buffer { char *buffer; char *fastmap; long options; }; void ruby_re_compile_fastmap (struct re_pattern_buffer *bufp) { unsigned char *pattern = (unsigned char *) bufp->buffer; register char *fastmap = bufp->fastmap; register unsigned char *p = pattern; register int j; int options = bufp->options; while (p) { switch (*p++) { case 0: for (j = 0; j < (1 << 8); j++) { if (j != '\n' || (options & (((1L) << 1) << 1))) fastmap[j] = 1; } } } } gcc version 4.2.0 20060331 (experimental) gcc -O3 -ftree-vectorize ruby.c -c ruby.x.i: In function ruby_re_compile_fastmap: ruby.x.i:9: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions -- Summary: ICE with -O3 -ftree-vectorize Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: halcy0n at gentoo dot org GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26969