CVS-980418: Unable to find a register to spill

Andreas Jaeger aj@arthur.rhein-neckar.de
Sun Apr 19 06:00:00 GMT 1998


I've applied the patch by John (email on egcs-bugs with Subject:"Re:
compile of libc-2.0.7pre3 fails with egcs-2.91.22 980404", from Sat,
18 Apr 1998 11:59:54 -0400):

Sat Apr 18 11:24:10 EDT 1998  John Wehle  (john@feith.com)

        * i386.md (movsf_push, movdf_push, movxf_push): Allow memory
        operands during and after reload.

My test example compiles now without errors.  The compilation is still
running (egcs19980418).  I hope that this is the right fix ;-).

Thanks,
Andreas


P.S. Here's the test example again:
extern   int       __finitel       (long double   __value)    __attribute__ (  (__const__) ) ;
extern   long double         __scalbnl         (long double   __x, int __n)      ;
extern int *__errno_location  (void)   __attribute__ ((__const__));


long double __ldexpl(long double value, int exp)
{
	if(!__finitel(value)||value==0.0) return value;
	value = __scalbnl(value,exp);
	if(!__finitel(value)||value==0.0) (*__errno_location ()) = ( 34  ) ;
	return value;
}

And this was the error message:
$ /opt/egcs/lib/gcc-lib/i486-pc-linux-gnu/egcs-2.91.23/cc1 s_ldexpl.i -g -O -version -fPIC -o s_ldexpl.s 
GNU C version egcs-2.91.23 980411 (gcc2 ss-980401 experimental) (i486-pc-linux-gnu) compiled by GNU C version egcs-2.91.23 980411 (gcc2 ss-980401 experimental).
options passed:  -g -O -fPIC
options enabled:  -fdefer-pop -fthread-jumps -fpeephole -ffunction-cse
 -finline -fkeep-static-consts -fpcc-struct-return -fPIC -fcommon
 -fgnu-linker -fargument-alias -m80387 -mhard-float -mno-soft-float
 -mieee-fp -mfp-ret-in-387 -mschedule-prologue -mcpu=i486 -march=pentium
 __ldexpl
s_ldexpl.i: In function `__ldexpl':
s_ldexpl.i:12: Unable to find a register to spill.
(insn:QI 12 10 14 (set (mem:XF (pre_dec:SI (reg:SI 7 %esp)))
        (reg/v:XF 21)) 76 {movxf_push} (insn_list 4 (nil))
    (insn_list:REG_LIBCALL 18 (nil)))
Aborted

-- 
 Andreas Jaeger   aj@arthur.rhein-neckar.de    jaeger@informatik.uni-kl.de
  for pgp-key finger ajaeger@alma.student.uni-kl.de



More information about the Gcc-bugs mailing list