Partially undo previous change.  I had inadvertently removed code that made f32 a valid type, which is why it was emitting soft float code.  Also, needed to add back floating point versions of memory loads.
Floating point code compiles.
I've added a dummy instruction CONV to match the bitcast operator. This is a hack. I think the reason I need to do this is because the lowering code for handling function parameters is not coercing the types properly.