title: Are different mmx, sse and avx versions complementary or supersets of each other?
body: <p>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.</p>
  
  <p>The x86 architecture has accumulated a lot of math/multimedia extensions over decades:</p>
  
  <ul>
  <li>MMX</li>
  <li>3DNow!</li>
  <li>SSE</li>
  <li>SSE2</li>
  <li>SSE3</li>
  <li>SSSE3</li>
  <li>SSE4</li>
  <li>AVX</li>
  <li>AVX2</li>
  <li>AVX512</li>
  <li>Did I forget something?</li>
  </ul>
  
  <p>Are the newer ones supersets of the older ones and vice versa? Or are they complementary?</p>
  
  <p>Are some of them deprecated? Which of these are still relevant? I've heard references to "legacy SSE".</p>
  
  <p>Are some of them mutually exclusive? I.e. do they share the same hardware parts?</p>
  
  <p>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.</p>