No, when building with Android NDK using the
armeabi-v7a ABI, hard floats are
used. This works on ARMv7, which means a lot of devices, and certainly the
majority.
But then every other system gets the rough 1000 factor performance hit that started
this thread since all other CPU have to do a system call to execute the float operation.
Designing for a single handset family is not that scalable.
The ARM
softfloat overhead is not that great and the coding required to get
access to the GPUs is suitable that developers will implement them
for optimisations.
Soft floats are insanely slow on Android in my experience.
A factor of 10 or 20 over hard floats? Sound about right? The factor 1000 is for code
that uses FPU instructions on systems without the FPU support. That I would call
insanely slow but you can choose which way you go here.
You got an FPU on most devices, you can compile for
hard floats, activate ARM
NEON if you wish too, and even check for cpu features at runtime. I don't see
why you want to use the GPU for optimization.
Man, the recent chipsets have 6 of these pipelines - designed for graphics processing
but sitting there waiting for audio DSP.
Regards, nick.