https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67260
--- Comment #24 from Oleg Endo <olegendo at gcc dot gnu.org> --- (In reply to Rich Felker from comment #18) > I thought I fixed at least one occurrence of this when I forward-ported the > FDPIC patch, but in any case, if it changed since that patch was first > written then there's almost surely a log entry and hopefully a bz explaining > the change to &k which might shed some light on the history of this code and > why it's done the way it is. The FDPIC patch you used as the starting point was obviously written at a time when the "sibcall_value_pcrel" pattern had the "=k" scratch/clobber. The GCC 4.9 branch still has this code. On GCC 5 it was fixed to "=&k" to fix wrong-code errors, but wasn't backported. Anyway, I'm going to backport r233399 to GCC 5 and GCC 4.9 which will replace it with the fixed R1_REG scratch/clobber