[SelectionDAG] Make SSHLSAT/USHLSAT obey getShiftAmountTy(). (#173216)

Treat these like other shift operations by allowing the shift amount to
be a different type than the result.

The PromoteIntOp_Shift and LegalizeDAG code are not tested due to lack
of target support.

I'm looking at adding SSHLSAT for the RISC-V P extension. I don't need
this support for that since RISC-V only has one legal type. I just thought it
was odd that they weren't like other shifts.

GitOrigin-RevId: 877df9e4b9193e660912a4f49991d4a218a893f0
9 files changed