kparzysz wrote: There are a handful of functions there that assume `MVT::i16` for representing `half` values, e.g. https://github.com/llvm/llvm-project/blob/main/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp#L2806-L2812 https://github.com/llvm/llvm-project/pull/74147