Vulkan exposed an issue with this for a case with v_mad_mixlo_f16 where the
upper 16 bits were not cleared.
Modifying this to clear the bits instead of just copying fixed the problem.
V2: Fixed up "Fix issue for zext of f16 to i32"
V3: Fixed fcanonicalize-elimination test
IIRC this node is only supposed to be emitted if the high bits are known zero, so something is wrong upstream if it’s gotten here