Open jrmuizel opened 6 years ago
I'm using the telemetry data from bottom of here: https://dvander.github.io/moz-gfx-telemetry/#view=system
We don't build different builds for different micro architectures, but Nehalem seems like a reasonable middle of the road target. It's not so old as to be completely different from more modern cores but old enough that those who use something of that generation will be able to use all the performance that they can get.
Jeff - are you building separate executables (or individual functions) for different SSE/AVX levels?
Or is this purely from the point of view of building and scheduling for the lowest feature set supported (and what would that be)?
In comparison, the Steam Survey puts SSSE3 usage at 97%, SSE41 at 95% and SSE42 at 93%. Although that's for gamers as opposed to general web browsing.
The "~40% of Firefox users don't have AVX" is a little unclear because I'm not sure how its being measured. There could be these others factors at play too.
-Intel sells CPUs without AVX support even on recent architectures. For example, https://ark.intel.com/products/129945/Intel-Pentium-Gold-G5600-Processor-4M-Cache-3_90-GHz. This looks to be Coffee Lake derived, but only has SSE4.2. -No Atom CPU supports AVX. -AVX is only supported by Windows 7 SP1 and newer.
Extended Description
~40% of Firefox users don't have AVX. This is rough proxy for machines that are older than Sandybridge.
It would be nice to have a scheduling model for older machines even if just for use with llvm-mca. Perhaps llvm-exegesis can make producing it easier?