The code gen for f32 to i32 bitcast is not currently the most efficient. For example:
int foo(float f) { return *(int*)&f; }
Generates:
xscvdpspn vs0, f1 xxsldwi vs0, vs0, vs0, 3 mffprwz r3, f0
However, xxsldwi is actually not needed as xscvdpspn already splats the value.
This patch removes that instruction for this specific code gen.
Although it is accurate that this specific instruction clears the other bits, all the other uses of SUBREG_TO_REG in the back end use (i64 1) and I don't think it is particularly useful to part with that here.