As you said, there is no native hardware support in MicroBlaze for double precision. All double precision instructions are emulated in software by the compiler. When the FPU is enabled (C_USE_FPU > 0), the hardware supports single precision floating point operations.
The # of instruction cycles for the operations is documented in the MicroBlaze User Guide
see fadd, fmul etc in the MicroBlaze Instruction Set Architecture section for the HW implementation. It is also dependent on the 3/5 pipeline configuration selection (C_AREA_OPTIMIZED).
You may also want to search this manual for "floating" and "FPU" occurences.
I suspect the actual implementation depends on the compiler (mb-gcc) version, its configuration and the specific code.
You could also try both methods (SW emulated or HW supported [single precision only]) for a few simple cases and then profile the code or disassemble the output to get a better idea of the actual implementation.