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

             Bug #: 54049
           Summary: cr16: ICE: in gen_rtx_SUBREG with -O1
    Classification: Unclassified
           Product: gcc
           Version: 4.7.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: ste...@astylos.dk
            Target: cr16-none-elf


Created attachment 27845
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27845
Minimized testcase

# cr16-none-elf-gcc -v -O1 -c cr16-o1-ice.c
Using built-in specs.
COLLECT_GCC=cr16-none-elf-gcc
Target: cr16-none-elf
Configured with: ../gcc-4.7.1/configure --disable-dependency-tracking
--disable-silent-rules --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin
--sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share
--includedir=/usr/include --libexecdir=/usr/libexec --localstatedir=/var
--sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info
--build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu
--target=cr16-none-elf --enable-targets=all --program-prefix=cr16-none-elf-
--enable-languages=c --without-headers --enable-sjlj-exceptions
--with-system-libunwind --disable-nls --disable-threads --disable-shared
--disable-libmudflap --disable-libssp --disable-libgomp --disable-libquadmath
--disable-gold --disable-decimal-float --enable-checking=
--enable-gnu-unique-object --enable-linker-build-id --disable-plugin
--enable-nls --with-system-zlib
Thread model: single
gcc version 4.7.1 (GCC) 
COLLECT_GCC_OPTIONS='-v' '-O1' '-c'
 /usr/libexec/gcc/cr16-none-elf/4.7.1/cc1 -quiet -v cr16-o1-ice.c -quiet
-dumpbase cr16-o1-ice.c -auxbase cr16-o1-ice -O1 -version -o /tmp/cckoKsDA.s
GNU C (GCC) version 4.7.1 (cr16-none-elf)
    compiled by GNU C version 4.7.0 20120507 (Red Hat 4.7.0-5), GMP version
5.0.2, MPFR version 3.1.0, MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory
"/usr/lib/gcc/cr16-none-elf/4.7.1/../../../../cr16-none-elf/sys-include"
ignoring nonexistent directory
"/usr/lib/gcc/cr16-none-elf/4.7.1/../../../../cr16-none-elf/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/lib/gcc/cr16-none-elf/4.7.1/include
 /usr/lib/gcc/cr16-none-elf/4.7.1/include-fixed
End of search list.
GNU C (GCC) version 4.7.1 (cr16-none-elf)
    compiled by GNU C version 4.7.0 20120507 (Red Hat 4.7.0-5), GMP version
5.0.2, MPFR version 3.1.0, MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 4e373966a7f913a5f46786a9aa6c7050
cr16-o1-ice.c: In function ‘f’:
cr16-o1-ice.c:14:1: internal compiler error: in gen_rtx_SUBREG, at
emit-rtl.c:769
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

# cat cr16-o1-ice.c
void f (void)
{
    char buf[18];
    unsigned i;
    unsigned *r = 0;

    for (i = 0; i < sizeof (buf); i++)
        buf[i] = i;

    while (1) {
        for (i = 0; i < sizeof (buf); i++)
            *r = buf[i];
    }
}

Compiling without -O1 succeeds

Reply via email to