https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67260
--- Comment #13 from Oleg Endo <olegendo at gcc dot gnu.org> --- (In reply to Alexander Monakov from comment #12) > > I mostly wonder why does sh.md change RTL representation of a sibcall that > way, instead of simply generating the required relative address load > upfront, during RTL expand. This way, RTL better matches final instruction > stream, register allocation should be more natural, and the load of the > relative address is subject to all RTL optimizations (so if you call a > function in a loop, you can load the relative address once, out of the loop). Good question indeed. Kaz, maybe you remember anything?