I feel really confused about whats the difference with gcc soft-float support and the kernel NWFPE/FastFPE support?
[31 January 2004 – np] Scenario 1 (hard-float): The compiler emits opcodes designed to be used with a hardware floating point coprocessor (FPU). The FPU usually has a set of extra registers for its use, and the compiler may as well pass floating point argument to functions through those registers. This is of course the best performing solution when a real hardware FPU is used. Scenario 2 (soft-float): the compiler converts floating point operations into function calls and a special library is used to provide all functions performing the required operations, all in software with no FPU instructions at all. There is obviously no extra floating point registers available in this case, therefore all FP arguments to functions have to be passed through standard registers or on the stack. This is of course the best performing solution when no hardware FPU is available, given that the library implementing the FP operations is optimally coded. Now, unfortunately, the default on ARM Linux has tra