Determine x86 SIMD extension support
According to the Steam Hardware Survey:
SIMD | Support | Sup. diff. |
---|---|---|
SSE2 | 100,00% | 0,00% |
SSE3 | 100,00% | 2,74% |
SSSE3 | 97,26% | 1,43% |
SSE4.1 | 95,83% | 1,17% |
SSE4.2 | 94,66% | 8,53% |
AVX | 86,13% | n/a |
Looking those stats it would be logical to implement SSE3 for full accelerated coverage, SSE4.2 for the 94,66% who can use it and use AVX2 for the ~75% who support it (unfortunately Steam doesn't release AVX2 and AVX-512 stats). The question then is does SSE4.2 contain useful instructions to increase performance, or can we reach the same performance with SSE4.1 or SSSE3 while increasing coverage.
TL;DR: In conjunction with a roadmap (#208 (closed)) we probably should determine which SIMD extensions are targeted (first).