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]

egcc-2.91.66 (Linux) error: no register to spill.


Hello,

the compiler
	GNU C version egcs-2.91.66 Debian GNU/Linux (egcs-1.1.2 release)
	(i486-linux) compiled by GNU C version egcs-2.91.66
	Debian GNU/Linux (egcs-1.1.2 release).
stops with error message

	crepex.c: In function `dispatchi_2':
	crepex.c:13856: Unable to find a register to spill.
	(insn:HI 4563 4562 4565 (parallel[ 
	            (set (reg/v:DI 258)
	                (plus:DI (zero_extend:DI (reg/v:SI 28))
	                    (reg:DI 260)))
	            (clobber (scratch:SI))
	        ] ) 140 {addsidi3_2} (insn_list 4562 (nil))
	    (expr_list:REG_DEAD (reg/v:SI 28)
	        (expr_list:REG_UNUSED (scratch:SI)
	            (expr_list:REG_DEAD (reg:DI 260)
	                (nil)))))
	../../gcc/toplev.c:1385: Internal compiler error in function fatal_insn

when compiling the C-source "crepex.i" (15582 lines, no asm-statements,
many goto's: automatic generated code) with command line
	egcc -v --save-temps -O1 -S crepex.i

This error does NOT occur when compiling without optimization 
or compiling with
     -	gcc version 2.95.2 19991024 (release)
 or  -	gcc version 2.8.1
 or  -	gcc version 2.7.2.3
 or  -	gcc version 2.7.2.1

Andre Weilert, Daniel Lauer,
Bonn, Germany, 2000, Jan 31

Appendix:
 - output of egcc
 - 'uname -a' of our machine
 - debian package info
 - attachment: crepex.i.bz2

--output of egcc ---------------------------------------------------------

Reading specs from /usr/lib/gcc-lib/i486-linux/egcs-2.91.66/specs
gcc version egcs-2.91.66 Debian GNU/Linux (egcs-1.1.2 release)
 /usr/lib/gcc-lib/i486-linux/egcs-2.91.66/cc1 crepex.i -quiet -O1 -version -o crepex.s
GNU C version egcs-2.91.66 Debian GNU/Linux (egcs-1.1.2 release) (i486-linux) compiled by GNU C version egcs-2.91.66 Debian GNU/Linux (egcs-1.1.2 release).
crepex.c: In function `dispatchi_2':
crepex.c:13856: Unable to find a register to spill.
(insn:HI 4563 4562 4565 (parallel[ 
            (set (reg/v:DI 258)
                (plus:DI (zero_extend:DI (reg/v:SI 28))
                    (reg:DI 260)))
            (clobber (scratch:SI))
        ] ) 140 {addsidi3_2} (insn_list 4562 (nil))
    (expr_list:REG_DEAD (reg/v:SI 28)
        (expr_list:REG_UNUSED (scratch:SI)
            (expr_list:REG_DEAD (reg:DI 260)
                (nil)))))
../../gcc/toplev.c:1385: Internal compiler error in function fatal_insn

-------------------------------------------------------------------------

--uname -a ---------------------------------------------------------------

Linux pi 2.0.36 #2 Sun Feb 21 15:55:27 EST 1999 i586 unknown

-------------------------------------------------------------------------

--debian package info ---------------------------------------------------

Package: egcc
Priority: extra
Section: devel
Installed-Size: 1709
Maintainer: Debian EGCS maintainers <egcs@packages.debian.org>
Architecture: i386
Source: egcs (1.1.2-0slink2)
Version: 2.91.66-0slink2
Replaces: egcc-ss (<< 2.91.67)
Provides: c-compiler
Depends: libc6, g++ (>= 2.91.66), g++ (<< 2.91.67)
Recommends: libc-dev
Suggests: egcs-docs (>= 2.91.66)
Conflicts: libc5-dev
Size: 819862
Description: The GNU (egcs) C compiler.
 This is the egcs version of the GNU C compiler, a fairly portable
 optimizing compiler which supports multiple languages.  This package
 includes support for C.  This package is _not_ the default c compiler
 on this architecture: for that, check out the gcc package.

-------------------------------------------------------------------------

crepex.i.bz2


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