[Interest] good-compromise compatibility setting for -march=??? option (x86)?

René J.V. Bertin rjvbertin at gmail.com
Sat Jul 18 14:44:04 CEST 2020


Hi,

I know it goes against "suggested wisdom" to tinker with compiler options when building Qt code, but in my experience you do need to tell the compiler what instruction set extensions it must enable. In any case, my binaries built on a recent'ish Celeron (N3150) ran fine in a VM on a 2011 mobile i7 until I started building with -march=native (on the Celeron), trusting that the i7 had a larger instruction set. Turns out it doesn't have RDRAND (and is different enough that __builtin_bswap32() gives an illegal instruction).

Is there a good single-term setting for -march= that I can use that still enables the most useful SIMD instruction supported by at least my old i7 and the N3150 (and VirtualBox!), rather than entering a hand-tuned list of individual extensions? I usually build with clang but could consider gcc in this case :)

Thanks!
R.


More information about the Interest mailing list