On Mon, 19 Jan 2015, Niels Möller wrote:
Nikos Mavrogiannopoulos n.mavrogiannopoulos@gmail.com writes:
It's early, but it would be nice if the arm neon code was part of fat as well.
I've pushed a start for fat binary support on arm.
Unfortunately I don't have much opinion on the other things you mentioned in your mail, but I did have a brief look at the arm feature detection.
I see you're looking at the CPU architecture field as well. There's a big gotcha related to that one; some ARMv6 CPUs report CPU architecture: 7. See http://code.google.com/p/android/issues/detail?id=10812 and https://android.googlesource.com/platform/ndk/+/13a99c7f/sources/android/cpu... (lines 716-737) for more details about this. (Unfortunately I don't have any better pointers to the kernel source/discussions for an explanation of this.)
For example a raspberry pi has got the following /proc/cpuinfo:
processor : 0 model name : ARMv6-compatible processor rev 7 (v6l) Features : swp half thumb fastmult vfp edsp java tls CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xb76 CPU revision : 7
Hardware : BCM2708 Revision : 0002 Serial : 00000000d605188c
If you only need to decide whether to enable ARMv6 specific instructions, it should be just fine, but in case you'd use it for enabling ARMv7 stuff as well, you'd need some sort of workaround for this.
// Martin