![](https://seccdn.libravatar.org/avatar/fd11770e2c72c423dd3e236b1ec2e094.jpg?s=120&d=mm&r=g)
Am 28.09.22 um 02:58 schrieb Bernhard M. Wiedemann:
On 28/09/2022 02.29, Aaron Puchert wrote:
I would love to see some kind of assembly diff for building the whole distribution with x86_64-v2, but this might be pretty hard. Perhaps Bernhard might be able to do this using the reproducible builds infrastructure.
I have seen software use -march=native and that always differed. In any non-trivial code, the compiler will find places where newer instructions can be used.
Of course on i586 we can expect -march=native to have a big impact, but x86_64 base already has SSE2 and doesn't use x87 anymore. Of course there's wider vectorization with AVX, but lots of code doesn't vectorize well. I guess -march=xxx also implies -mtune=xxx, or at least changes scheduling decisions. So we don't only see newer instructions being used, we also see older instructions being shuffled around or replaced by different older instructions because newer hardware has different latency/throughput characteristics. There is probably no way to reliably assess what changed due to new instructions being available. Aaron