Given a sextload i16, we can usually generate ldrsh [rn. rm]. If we don't naturally have a rn, rm addressing mode, we can either generate ldrh rn, #0; sxth or mov rm, #0; ldrsh [rn. rm].
We currently generate the first, always creating a sxth. They are both the same number of instructions, but If we generate the second then the mov #0 will likely be CSE'd or pulled out of a loop, etc.
This adjusts the ISel patterns to do that, creating a mov instead of a sxth.