[WebAssembly][DAGCombine] Avoid scalarizing v8i8 to v8f16 conversions (#213636)
WebAssembly FP16 can convert `v8i16` to `v8f16`, but direct `v8i8` to
`v8f16` conversions were scalarized during SelectionDAG type
legalization.
This results in lane extractions, scalar conversions, calls to
`__truncsfhf2`, and reconstruction of the result vector.
We should extend `v8i8` to `v8i16` in `performVectorExtendToFPCombine`
before type legalization. This allows the existing WebAssembly combines
to select:
- `i16x8.extend_low_i8x16_{s,u}`
- `f16x8.convert_i16x8_s`