This adds lowering for f32 values using the vmov.f16, which zero's the top bits whilst setting the lower bits to a pattern. This range of values does not often come up, except where a f16 constant value has been converted to a f32.
The tablegen pattern was a little tricky to get to work, but it seems happy as it is here.
I'd probably write this as if (Imm.getActiveBits() > 16), so both instances of "16" refer to the same thing. But not a big deal either way.