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

--- Comment #165 from Kazumoto Kojima <kkojima at gcc dot gnu.org> ---
(In reply to Oleg Endo from comment #163)
> (In reply to Kazumoto Kojima from comment #130)
> > Created attachment 58831 [details]
> > a trial patch for c#129
> > 
> > A quick fix may be:
> > 
> > * config/sh/sh.md
> > (call_pcrel, call_value_pcrel, sibcall_pcrel): Use a fixed call clobberd
> > register
> > for the address.
> 
> I don't understand why the 'call_pcrel' insn splits out the constant load of
> the call address only after reload?!  I think it could do that before
> register allocation, when expanding the define_expand "call" pattern.  Or am
> I missing something?

I also don't understand why these insn_and_split patterns are needed.  Maybe
some issue with sh_expand_sym_label2reg before reload_completed?

Reply via email to