https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212
--- Comment #163 from Oleg Endo <olegendo at gcc dot gnu.org> --- (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?