Calls to the function pass floating-point arguments in integer registers. If the result is a floating-point value, the value is returned in integer registers. This duplicates the behavior of compilation targeting software floating-point.
This keyword enables the same library to be used by sources compiled to use hardware and software floating-point.
Note
In C++, if a virtual function qualified with the __softfp keyword is to be overridden, the overriding function must also be declared as __softfp. If the functions do not match, the compiler generates an error.