See PR36950, PR17564, D45065, D45107
This is complementary to D45065, either one will solve PR17564,
but this one will add one more fold pattern, which may be useful.
Notes:
- I don't actually check that C is < 32, some other fold already happens by then. Should i check anyway?
- Am i missing some has-one-use checks?
Please review carefully.
Alive proof: https://rise4fun.com/Alive/uiH
Testing: ninja check-llvm