[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