https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118384
--- Comment #12 from Jeffrey A. Law <law at gcc dot gnu.org> --- I played with Raphael's expander adjustment in this space during stage3 last year, but couldn't get it to behave exactly the way I wanted. Essentially I could get the simple testcases to produce better code, but when I looked at larger codebases it was regresssing and I didn't feel it was the time to open that can of worms. Note that if the datatype is the same size as the target word, a neg instruction would likely be better than the shift pair. No idea what's going to be better when the datatype is 2X the target word -- I haven't looked at that space at all ;)
