title: How can I determine what architectures gcc supports?
body: <p>GCC supports a <code>-march</code> switch that allows you to specify the architecture you are targeting - allowing it to tune instruction sequences for that platform as well as using instructions that might be available on the platform which aren't available on the "default" or base version of the architecture.</p>
  
  <p>For example, <code>-march=skylake</code> will tell the compiler to target Skylake CPUs, including using instruction sets available on Skylake such as AVX2.</p>
  
  <p>How can I tell what values for <code>-march</code> the local version of <code>gcc</code> supports? Newer versions helpfully list the valid arguments when an invalid argument is passed, but older versions do not.</p>