I'm thinking I should familiarize myself with x86 SIMD extensions. But before I even began I ran into trouble. I can't find a good overview on which of them are still relevant.
The x86 architecture has accumulated a lot of math/multimedia extensions over decades:
- MMX
- 3DNow!
- SSE
- SSE2
- SSE3
- SSSE3
- SSE4
- AVX
- AVX2
- AVX512
- Did I forget something?
Are the newer ones supersets of the older ones and vice versa? Or are they complementary?
Are some of them deprecated? Which of these are still relevant? I've heard references to "legacy SSE".
Are some of them mutually exclusive? I.e. do they share the same hardware parts?
Which should I use together to maximize hardware utilization on modern Intel / AMD CPUs? For sake of argument, let's assume I can find appropriate uses for the instructions... heating my house with the CPU if nothing else.