If -msoft_float is used to generate hooks for linking to FP emulation library, the results and arguments and results are still passed via the x87 stack if - mno-fp-ret-in-387 is not defined as well. This will generate invalid code for many embedded x86 platforms that do not have an FPU (e.g. AMD SC420). -msoft_float should imply -mno-fp-ret-in-387 to avoid confusion. At the bare minimum, a note regarding switching on -mno-fp-ret-in-387 in conjunction with - msoft_float when developing on FPU-less platforms should be mentioned.
The manual already warns about this: -msoft-float ..... On machines where a function returns floating point results in the 80387 register stack, some floating point opcodes may be emitted even if -msoft-float is used.