------- 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