On Wed, Feb 27, 2019 at 06:30:36PM -0500, Jeffrey Walton wrote: >On Wed, Feb 27, 2019 at 5:46 PM Steve McIntyre <[email protected]> wrote: >> >> So, I've got to ask - what hardware are you likely targeting here >> where it matters to build stuff for armel yet also use NEON if it's >> available? Most people with hardware that *can* do NEON should be >> using armhf, surely? > >Yeah, I know what you are saying. > >The problem in practice with mainstream compilers is (1) ARM and the >ACLE defines are a mess, (2) -march=native does not work like on i686 >or x86_64, and (3) RTFM does not work. > >For a regular user who wants to use Debian on ARM we need to figure >out how to build to the least capable machine (like ARMv5 or ARMv6) >while making more capable features (like NEON) available.
So this is a place where the world is just *different* compared to x86 - the different versions of the ARM architectures have signficantly different capabilities. If you're looking to build something that performs well on a modern v7 CPU, compilling for v5 is a mistake. You'll be using the wrong locking primitives, barriers, etc. Equally, the features you're going to be looking for (like SMP, NEON) just don't make sense / don't exist on v5 CPUs. >User's don't want to RTFM to figure out what compiler switches to use. >They just want things to work. The compilers don't make it any easier >because -march=native does not work on ARM. It's a much wider world out there. :-/ >So the use case we target is, user want the most from their hardware >without reading the manual to configure properly. That means we have >to go through extra gyrations when building. > >(I know we bring it on ourselves. We could easily say fuck it - the >user did not bother to read a man page so its the user's problem. But >I'm in the camp that common cases should just work for folks. Folks >should not need to read a manual to make the common case work). Agreed. But it might not actually be *possible* to do some of the optimisation stuff you're looking at, depending on the CPUs involved. This is basically one of the reasons we started the armhf port - it's a higher baseline that makes more sense for modern ARMv7 CPUs, while still making it possible for people to use the older ARMv5 cores out there. -- Steve McIntyre, Cambridge, UK. [email protected] "Yes, of course duct tape works in a near-vacuum. Duct tape works anywhere. Duct tape is magic and should be worshipped." -― Andy Weir, "The Martian"

