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