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

--- Comment #9 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Uroš Bizjak from comment #8)
> (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.

Bah, get_scratch_register_on_entry, not split_stack_prologue_scratch_regno.

Reply via email to