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

Reply via email to