https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64317
--- Comment #10 from Vladimir Makarov <vmakarov at gcc dot gnu.org> --- (In reply to Jeffrey A. Law from comment #8) > And for GCC 5, ISTM the question that hasn't been answered, particularly > with regard to the second reproducer is whether or this is a regression for > the overall performance of that code. > > It's certainly possible that IRA determined that %ebx was better used to > hold a different value and that the PIC register might end up in a > call-clobbered register. If the object in %ebx is heavily used, the > benefits of keeping that value in %ebx may outweigh the cost of having the > PIC value in a different register (say perhaps one that is call-clobbered). I guess it is easy to check by preventing pic pseudo generation.