On Sun, Jul 31, 2011, Paulo César Pereira de Andrade wrote:
If I understand correctly, neon will have better support for simd instructions right?
NEON is effectively SIMD instructions, but not all modern SoCs have NEON, e.g. NVidia Tegra2 don't have NEON. It's becoming common place in recent SoCs though.
Either way, I used two simple benchmarks to try to sell myself the idea of breaking compatibility with armv5 or older binaries, but still not convinced, but, as I said, we should use whatever "The Industry" chooses :-)
Depends which industry though. Yes, ARMv5 will be around for a while, but high-end devices, phones, tablets etc. are designed around ARMv7. Depends what your distro targets too; for instance Debian armel targets ARMv4T+ while Ubuntu armel is based of the same sources but targets ARMv7+ and uses Thumb2.
I used for benchmark http://www.tux.org/~mayer/linux/bmark.html and http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Why-ARMs-EABI-... and also compared with my home computer (quad)core i5 x86_64, and attached results...
You're likely not going to see much difference switching float ABI alone with common benchmarks, because GCC is clever enough to use the best possible ABI for non-public functions. It's mostly visible when you're crossing library calls with floating points.
You should however definitely see a difference between ARM mode and Thumb-2 mode (which is ARMv6+ only IIRC), as the code is denser and fits more easily in CPU cache.
There were many discussions around this on the debian-arm list last year; Konstantinos Margaritis collected benchmarks for hard-float which should be linked from http://wiki.debian.org/ArmHardFloatPort
HTH