https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63620
--- Comment #12 from Jeffrey A. Law <law at redhat dot com> --- The more I watch the %ebx PIC problems, the more this reminds me of secondary reloads and I wonder if we defined those properly if the right things would happen. This kind of thing has shown up on other architectures. For example, on the PA, if you try to load a symbolic constant into an FP register while generating PIC code, you have to generate a secondary reload using %r1 as a scratch. It's not a perfect match in that we don't need a scratch, but instead the PIC register to be live, but it's pretty damn close. I haven't looked at LRA's handling of secondary reloads, but it may be worth someone's time to do so to see if it can be used to show %ebx as being needed in these cases.