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.
These COPY_TO_REGCLASS should probably be SUBREG_TO_REG (all of them by the looks of it).