https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89316

--- Comment #8 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Jakub Jelinek from comment #7)
> Guess this is similar to the TLS ICE with -mforce-indirect-call.  In this
> case, I think we need to figure out into which register could we load the
> address.  Unfortunately, %rax or %eax isn't available for that, at least not
> always, e.g. for -m64 it can hold the saved static chain, the existence of
> __morestack_large_model shows that, but -m32 doesn't have anything like that.
> So, in theory for -fsplit-stack -mforce-indirect-call -m64 we could call
> __morestack_large_model even in non-large model compilations, just load the
> address of that function differently.  For -m32, I'm out of ideas.

We may use a temporary regno as returned from
split_stack_prologue_scratch_regno, perhaps in some generalized form here.

Reply via email to