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

René J. V. Bertin rjvbertin at gmail.com
Mon Aug 10 00:28:26 CEST 2020


Thiago Macieira wrote:

Well well, I turn my back a couple of days and there's a whole lot of 
interesting things going on behind it :)

> On Monday, 20 July 2020 22:46:36 PDT Thiago Macieira wrote:
>> So the common denominator of SLM and SNB is the WSM (Westmere).

Indeed, my i7 is a Sandybridge as far as I've been able to determine. It has the 
basic AVX instruction set.

>> Not coincidentally, it's the default -march= for GCC and Clang on Clear

Clearly :)

> 
> BTW, you may want to also add the -mtune option to either of the two
> processors. Leaving it at the default (matching -march) may not produce the
> best code for either.

Oh? I've always understood that -march implies -mtune (but not vice-versa)?!

> YMMV.
As always with this sort of thing (as far as "generic" code is concerned) but I 
always tell myself that adding -march=XXX or a bunch of -msseX options isn't 
going to change build times a lot and may just cause binaries to run a little 
faster when the machine starts getting stressed.

Is Clear Linux really noticeably faster and because of its build options? I 
can't really tell from the Phoronix comparison between it and Ubuntu 20.04 how 
conclusive the difference is in every day life (if that doesn't imply one of the 
benchmarks where the difference is going to be noticeable).

Meanwhile I had settled on an annoyingly long option string that has -
march=core2 and sets every SSE and MMX version support (except SSE4a). 
R.



More information about the Interest mailing list