[Bug target/38900] ICE: unable to find a register to spill

ktietz at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Mon Jul 6 13:17:00 GMT 2009



------- Comment #9 from ktietz at gcc dot gnu dot org  2009-07-06 13:17 -------
(In reply to comment #8)
> This cannot be correct in the general case as %ebx is call-saved, you cannot
> clobber it through a function call.  A solution could be to disparage the 'c'
> alternative, but a x86 maintainer will know better.
> 

Well, why? For save or called saved registers the functions epilogue/prologue
takes care. The reason why gcc tries to choose ebx for call address register
here, is exactly this reason, as it can be sure that after the sibcall, the
register is still valid.

Cheers,
Kai


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38900



More information about the Gcc-bugs mailing list