https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48576
--- Comment #8 from Mikael Pettersson <mikpelinux at gmail dot com> --- This got fixed for 4.9+ by Bernd Schmidt's "Fix for reloads_unique_chain_p" patch in r203596: https://gcc.gnu.org/ml/gcc-patches/2013-10/msg01041.html. The patch submission describes a problem very similar to this one, so I'm fairly certain the fix is "proper". The patch backports easily to 4.8 and 4.7 and fixes the bug there too.