------- Comment #4 from irar at il dot ibm dot com 2006-11-02 11:18 ------- The loop at config/rs6000/rs6000.c:3674 requires versioning for alignment, so when bootstrapping with "-ftree-vectorize -fno-tree-vect-loop-version" it does not get vectorized. However, we still fail bootstrap... This is the failure we get:
/home/irar/main-boot/build17/./gcc/xgcc -B/home/irar/main-boot/build17/./gcc/ -B/home/irar/main-boot/ppc64-redhat-linux/bin/ -B/home/irar/main-boot/ppc64-redhat-linux/lib/ -isystem /home/irar/main-boot/ppc64-redhat-linux/include -isystem /home/irar/main-boot/ppc64-redhat-linux/sys-include -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I../../gcc/gcc -I../../gcc/gcc/. -I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include -I../../gcc/gcc/../libdecnumber -I../libdecnumber -g0 -finhibit-size-directive -fno-inline-functions -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -msdata=none \ -c ../../gcc/gcc/crtstuff.c -DCRT_BEGIN \ -o crtbegin.o ../../gcc/gcc/crtstuff.c: In function â__do_global_dtors_auxâ: ../../gcc/gcc/crtstuff.c:304: 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. make[3]: *** [crtbegin.o] Error 1 make[3]: *** Waiting for unfinished jobs.... rm fsf-funding.pod gcov.pod gfdl.pod cpp.pod gcc.pod gfortran.pod gpl.pod make[3]: Leaving directory `/home/irar/main-boot/build17/gcc' make[2]: *** [all-stage2-gcc] Error 2 make[2]: Leaving directory `/home/irar/main-boot/build17' make[1]: *** [stage2-bubble] Error 2 make[1]: Leaving directory `/home/irar/main-boot/build17' make: *** [bootstrap] Error 2 I found that this time a different loop in rs6000 is related to the failure - when it is vectorized, the Stage2 compiler is "bad", and when we force the loop not to be vectorized, the Stage2 compiler is "good" (bootstrap passes with vectorization enabled). The loop is config/rs6000/rs6000.c:17204: for (i = 0; i < issue_rate; i++) { group_insns[i] = 0; } Looks like the problem is not related to some specific loop vectorization. Don't know if it makes sense to try to create a reduced testcase (or how...). Ira -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28752