This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/26360] New: Autovectorization of char -> int loop gets ICE


A gcc build from this morning:

$ /home/anton/toolchain/install/bin/gcc -v
Using built-in specs.
Target: powerpc-linux
Configured with: /home/anton/toolchain/gcc/gcc/configure --build=powerpc-linux
--host=powerpc-linux --target=powerpc-linux --enable-targets=powerpc64-linux
--enable-languages=c,c++,fortran --prefix=/home/anton/toolchain/install
Thread model: posix
gcc version 4.2.0 20060219 (experimental)

Using the following test case:

char buf[128];

unsigned int foo()
{
        unsigned int i, offset = 0;
        for (i = 0; i < 128; i++)
                offset += buf[i];
        return offset;
}

Dies when compiled with autovectorization:

$ /home/anton/toolchain/install/bin/gcc -c -O3 -fno-tree-dce -ftree-vectorize
-ftree-vectorizer-verbose=5 -maltivec foo.c

foo.c:6: note: LOOP VECTORIZED.
foo.c:6: note: vectorized 1 loops in function.
foo.c: In function 'foo':
foo.c:4: internal compiler error: in expand_widen_pattern_expr, at optabs.c:385
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

It works if offset is a char.


-- 
           Summary: Autovectorization of char  -> int loop gets ICE
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: anton at samba dot org
GCC target triplet: powerpc64-linux


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26360


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]