https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59393
--- Comment #12 from Jeffrey A. Law <law at redhat dot com> --- One more tidbit here. I noted that we got "reasonably" close to having enough state in the combiner to attack this in c#7. The problem is there's a REG object that we really need to be a CONST_INT. It turns out that we're failing to substitute the value from a REG_EQUAL note as combine builds up that hunk of RTL. So if we were to substitute in the REG_EQUAL, then we'd have a fighting chance to address this in the combiner.