Some 32-bit patterns are not legal floating point.
It is not legal to have an exponent field of zero with a non-zero mantissa. There are other combinations that are also illegal.
Sometimes the floating point registers are used as temporary registers for integer data. For example, rather than storing a temporary value to memory, you can copy it to an unused floating point register. This is OK, as long as you don't try to do floating point math with the data.
There is a single precision store pseudoinstruction:
s.s fd,addr # store register fd to addr # (pseudoinstruction)
Whatever 32 bits are in fd
are copied to addr
In both of these pseudoinstructions the address addr
can be an ordinary symbolic address, or an indexed address.
Why would you want to copy a temporary integer value to a floating point register?