Could not find a spill register

Choi, Jang-Wook
Tue Aug 1 17:36:00 GMT 2000

Hello, everyone. 
I'm building a cross 
compiler to new 64bit processor using gcc. 
I made new machine dependent files. 
When I build it, "Could not find spill register" 
error occurrs. 
Someone told me to give 
change to FIXED_REGISTER macro in tm.h.
But same error occurres. 

Does someone know why this error happens? 
Thank you.
for name in _muldi3 _divdi3 _moddi3 _udivdi3 
_umoddi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _udiv_w_sdiv _udivmoddi4 
_cmpdi2 _ucmpdi2 _floatdidf _floatdisf _fixunsdfsi _fixunssfsi _fixunsdfdi 
_fixdfdi _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi _floatdixf _fixunsxfsi 
_fixtfdi _fixunstfdi _floatditf __gcc_bcmp _varargs __dummy _eprintf _bb _shtab 
_clear_cache _trampoline __main _exit _ctors _pure; \ do \   echo 
${name}; \   /softhome/choijo/src/ae64000/egbuild-ae64000-elf/gcc/xgcc 
-B/softhome/choijo/src/ae64000/egbuild-ae64000-elf/gcc/ -O2  
-DCROSS_COMPILE -DIN_GCC    -g -O2 -I./include   
-g1  -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc  -I. 
-I../../egcs-1.1.2/gcc -I../../egcs-1.1.2/gcc/config -c -DL${name} 
\       ../../egcs-1.1.2/gcc/libgcc2.c -o ${name}.o; 
\   if [ $? -eq 0 ] ; then true; else exit 1; fi; \   
ae64000-elf-ar rc tmplibgcc2.a ${name}.o; \   rm -f ${name}.o; 
\ done _muldi3 ../../egcs-1.1.2/gcc/libgcc2.c: In function 
`__muldi3': ../../egcs-1.1.2/gcc/libgcc2.c:301: Could not find a spill 
register (insn:QI 36 208 209 (parallel[ 
(mem:DI (reg:DI 16 
(udiv:DI (reg:DI 8 
(reg:DI 6 
(set (reg:DI 8 
(umod:DI (reg:DI 8 
(reg:DI 6 %r6)))         ] ) 23 
{udivmoddi4} (insn_list 33 (nil))     (expr_list:REG_DEAD 
(reg:DI 8 %r8)         
(nil))) ../../egcs-1.1.2/gcc/toplev.c:1367: Internal compiler error in 
function fatal_insn make[1]: *** [libgcc2.a] Error 1 make[1]: Leaving 
directory `/softhome/choijo/src/ae64000/egbuild-ae64000-elf/gcc' make: *** 
[install-gcc] Error 2 + cd ..

More information about the crossgcc mailing list