http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49093
Summary: ICE in vect_enhance_data_refs_alignment() with volatile inside peeled loop Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: arthur.j.odw...@gmail.com Created attachment 24311 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24311 Output of "ajo-gcc -std=c99 -w -O1 -funswitch-loops -ftree-vectorize -fno-tree-fre test.c -v" This reproduces for me with svn revision 173843 (2011-05-17). It doesn't reproduce with gcc 4.5.1. I'm on Ubuntu 10.10, x86-64. cat >test.c <<EOF volatile unsigned char g_324[4] = {0, 1, 0, 1}; int x, y; void func_81() { int l_466, l_439[7] = {0}; lbl_473: if (x) { for (int g_97 = 0; (g_97 < 4); ++g_97) { if (y) goto lbl_473; g_324[g_97]; l_466 = l_439[g_97]; } foo(l_466); } } EOF gcc -std=c99 -w -O1 -funswitch-loops -ftree-vectorize -fno-tree-fre test.c test.c: In function ‘func_81’: test.c:3:6: internal compiler error: in vect_enhance_data_refs_alignment, at tree-vect-data-refs.c:1551 This test case is reduced from the output of Csmith 2.1.0 (git hash 01aa8b04, https://github.com/Quuxplusone/csmith/), using the following command line: csmith --no-paranoid --no-longlong --no-pointers --arrays --jumps --consts --volatiles --no-checksum --no-divs --no-muls --no-bitfields --packed-struct -s 799267216