Bug 45727 - ICE: in subreg_get_info, at rtlanal.c:3092
Summary: ICE: in subreg_get_info, at rtlanal.c:3092
Status: WAITING
Alias: None
Product: gcc
Classification: Unclassified
Component: lto (show other bugs)
Version: 4.6.0
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-19 11:35 UTC by Rafaël Carré
Modified: 2010-09-21 15:20 UTC (History)
2 users (show)

See Also:
Host:
Target: arm-elf-eabi
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments
testcase (31.80 KB, application/x-bzip)
2010-09-19 11:35 UTC, Rafaël Carré
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Rafaël Carré 2010-09-19 11:35:01 UTC
% /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
Comment 1 Rafaël Carré 2010-09-19 11:35:50 UTC
Created attachment 21833 [details]
testcase
Comment 2 Richard Biener 2010-09-19 13:23:46 UTC
Yes, please open a new bugreport for that.
Comment 3 Ian Bolton 2010-09-21 14:40:17 UTC
Which architecture/cpu are you wanting to build for?  I'm not sure what the default is.  If you can specify that when you configure, and then post the outcome of the build, that would be helpful.
Comment 4 Rafaël Carré 2010-09-21 15:20:23 UTC
Same output with -mcpu=arm926ej-s or -mcpu=arm7tdmi

What did you mean with "when I configure" ? I posted gcc -v output, should I rebuild gcc with a specific option?

I build with http://www.rockbox.org/gcc/rockbox-multilibs-noexceptions-arm-elf-eabi-gcc-4.4.2_1.diff to disable support for exceptions and build libgcc for several CPUs