The ARMv6 CPU in the Pi has an FPU. Depending on your OS, you can use it in two different ways:
* softfp where the float function arguments are passed in using integer registers or the stack
* hardfp where they are passed in using the FPU registers
In the above cases, the float operations are done in hardware in the FPU. There is a 3rd ABI called softfloat where everything is done in software, and thus is very slow.