This is patch 3 is a series beginning with D61150
We already try (but fail due to lack of sub op)
to convert this to fshr in AggressiveInstCombine.cpp:92.
Rotate instructions can be a single instructions sometimes,
comparedto three. See
https://bugs.llvm.org/show_bug.cgi?id=37461
I still don't agree with using fshr here; I've given you my rationale before.