% /usr/local/arm-elf-eabi-cvs/bin/arm-elf-eabi-gcc -v Using built-in specs. COLLECT_GCC=/usr/local/arm-elf-eabi-cvs/bin/arm-elf-eabi-gcc COLLECT_LTO_WRAPPER=/usr/local/arm-elf-eabi-cvs/libexec/gcc/arm-elf-eabi/4.6.0/lto-wrapper Target: arm-elf-eabi Configured with: ../gcc-4.6-20100918/configure --prefix=/usr/local/arm-elf-eabi-cvs --target=arm-elf-eabi --enable-lto --enable-languages=c --disable-docs --disable-libssp Thread model: single gcc version 4.6.0 20100918 (experimental) (GCC)
% make /usr/local/arm-elf-eabi-cvs/bin/arm-elf-eabi-gcc -mthumb-interwork -nostdlib -flto -pipe -Os spc_cpu.o spc_emu.o stubs.o spc_dsp.o spc.o -lgcc In file included from /media/bordel/rockbox/apps/codecs/spc.c:433:0, from /media/bordel/rockbox/apps/codecs/spc.c:595, from /media/bordel/rockbox/apps/codecs/libspc/spc_dsp.c:782, from stubs.i:24, from /media/bordel/rockbox/apps/codecs/libspc/spc_emu.c:326, from /media/bordel/rockbox/apps/codecs/libspc/spc_cpu.c:865, from :18: /media/bordel/rockbox/apps/codecs/libspc/spc_dsp.c: In function 'DSP_run_': /media/bordel/rockbox/apps/codecs/libspc/spc_dsp.c:1446:9: error: can't find a register in class 'LO_REGS' while reloading 'asm' /media/bordel/rockbox/apps/codecs/libspc/spc_dsp.c:1568:1: internal compiler error: in subreg_get_info, at rtlanal.c:3092 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. lto-wrapper: /usr/local/arm-elf-eabi-cvs/bin/arm-elf-eabi-gcc returned 1 exit status collect2: lto-wrapper returned 1 exit status make: *** [a.out] Error 1 % wc -l *.i 4251 spc_cpu.i 4137 spc_dsp.i 3717 spc_emu.i 3713 spc.i 103 stubs.i 15921 total Note: the bug I first wanted to report is different, I only encountered the ICE in the process. Should I open a new bug report with the content following? % sed -i s/-Os// Makefile % make /usr/local/arm-elf-eabi-cvs/bin/arm-elf-eabi-gcc -mthumb-interwork -nostdlib -flto -pipe spc_cpu.o spc_emu.o stubs.o spc_dsp.o spc.o -lgcc In file included from /media/bordel/rockbox/apps/codecs/libspc/spc_dsp.c:773:0, from stubs.i:24, from /media/bordel/rockbox/apps/codecs/libspc/spc_emu.c:326, from /media/bordel/rockbox/apps/codecs/libspc/spc_cpu.c:865, from :18: /media/bordel/rockbox/apps/codecs/spc.c: In function 'codec_main': /media/bordel/rockbox/apps/codecs/spc.c:536:19: internal compiler error: in insert_value_copy_on_edge, at tree-outof-ssa.c:243 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. {standard input}: Assembler messages: {standard input}:11421: Error: lo register required -- `ldrsh r8,[r1]' {standard input}:11422: Error: Thumb does not support this addressing mode -- `ldrsh r5,[r3]' {standard input}:11423: Error: Thumb does not support this addressing mode -- `ldrsh r6,[r1,#2]' {standard input}:11424: Error: Thumb does not support this addressing mode -- `ldrsh r4,[r3,#2]' {standard input}:11425: Error: lo register required -- `mul r9,r8,r5' {standard input}:11426: Error: lo register required -- `ldrsh r8,[r1,#4]' {standard input}:11427: Error: Thumb does not support this addressing mode -- `ldrsh r5,[r2,#2]' {standard input}:11428: Error: selected processor does not support Thumb mode `mla r9,r6,r4,r9' {standard input}:11429: Error: Thumb does not support this addressing mode -- `ldrsh r6,[r1,#6]' {standard input}:11430: Error: Thumb does not support this addressing mode -- `ldrsh r4,[r2]' {standard input}:11431: Error: selected processor does not support Thumb mode `mla r9,r8,r5,r9' {standard input}:11432: Error: selected processor does not support Thumb mode `mla r9,r6,r4,r9' {standard input}:11457: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r5,r4,asr#11' {standard input}:11458: Error: dest must overlap one source register -- `mul r4,r5,r3' {standard input}:11481: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r4,r4,asr#11' {standard input}:11482: Error: dest must overlap one source register -- `mul r6,r4,r3' {standard input}:11483: Error: dest must overlap one source register -- `mul r5,r4,r2' {standard input}:11531: Error: lo register required -- `ldrsh r8,[r1]' {standard input}:11532: Error: Thumb does not support this addressing mode -- `ldrsh r5,[r3]' {standard input}:11533: Error: Thumb does not support this addressing mode -- `ldrsh r6,[r1,#2]' {standard input}:11534: Error: Thumb does not support this addressing mode -- `ldrsh r4,[r3,#2]' {standard input}:11535: Error: lo register required -- `mul r9,r5,r8' {standard input}:11536: Error: Thumb does not support this addressing mode -- `ldrsh r5,[r2,#2]' {standard input}:11537: Error: dest must overlap one source register -- `mul r8,r4,r6' {standard input}:11538: Error: Thumb does not support this addressing mode -- `ldrsh r6,[r1,#4]' {standard input}:11539: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r9,r9,asr#12' {standard input}:11540: Error: Thumb does not support this addressing mode -- `ldrsh r4,[r2]' {standard input}:11542: Error: Thumb does not support this addressing mode -- `ldrsh r6,[r1,#6]' {standard input}:11543: Error: unshifted register required -- `add r8,r9,r8,asr#12' {standard input}:11545: Error: unshifted register required -- `add r5,r8,r5,asr#12' {standard input}:11546: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r5,r5,lsl#17' {standard input}:11547: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r4,r4,asr#12' {standard input}:11548: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r4,r4,asl#1' {standard input}:11549: Error: unshifted register required -- `add r9,r4,r5,asr#16' {standard input}:11599: Error: dest must overlap one source register -- `mul r4,r2,r3' {standard input}:11629: Error: shifts in CMP/MOV instructions are only supported in unified syntax -- `mov r5,r4,asr#11' {standard input}:11630: Error: unshifted register required -- `bic r5,r5,#0x1' {standard input}:11631: Error: dest must overlap one source register -- `mul r4,r5,r3' {standard input}:11632: Error: dest must overlap one source register -- `mul r6,r5,r2' {standard input}:11827: Error: unshifted register required -- `bic r3,r4,#71' {standard input}:11852: Error: lo register required -- `ldmia r8!,{r4-r5}' {standard input}:11853: Error: lo register required -- `mul sl,r0,sl' {standard input}:11854: Error: lo register required -- `mul r9,r0,r9' {standard input}:11855: Error: selected processor does not support Thumb mode `mla sl,r4,r1,sl' {standard input}:11856: Error: selected processor does not support Thumb mode `mla r9,r5,r1,r9' {standard input}:11858: Error: lo register required -- `ldmia r8!,{r2-r5}' {standard input}:11859: Error: selected processor does not support Thumb mode `mla sl,r2,r0,sl' {standard input}:11860: Error: selected processor does not support Thumb mode `mla r9,r3,r0,r9' {standard input}:11861: Error: selected processor does not support Thumb mode `mla sl,r4,r1,sl' {standard input}:11862: Error: selected processor does not support Thumb mode `mla r9,r5,r1,r9' {standard input}:11864: Error: lo register required -- `ldmia r8!,{r2-r5}' {standard input}:11865: Error: selected processor does not support Thumb mode `mla sl,r2,r0,sl' {standard input}:11866: Error: selected processor does not support Thumb mode `mla r9,r3,r0,r9' {standard input}:11867: Error: selected processor does not support Thumb mode `mla sl,r4,r1,sl' {standard input}:11868: Error: selected processor does not support Thumb mode `mla r9,r5,r1,r9' {standard input}:11870: Error: lo register required -- `ldmia r8!,{r2-r5}' {standard input}:11871: Error: selected processor does not support Thumb mode `mla sl,r2,r0,sl' {standard input}:11872: Error: selected processor does not support Thumb mode `mla r9,r3,r0,r9' {standard input}:11873: Error: selected processor does not support Thumb mode `mla sl,r4,r1,sl' {standard input}:11874: Error: selected processor does not support Thumb mode `mla r9,r5,r1,r9' lto-wrapper: /usr/local/arm-elf-eabi-cvs/bin/arm-elf-eabi-gcc returned 1 exit status collect2: lto-wrapper returned 1 exit status make: *** [a.out] Error 1 -- Summary: ICE: in subreg_get_info, at rtlanal.c:3092 Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rafael dot carre at gmail dot com GCC target triplet: arm-elf-eabi http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45727