GCC -march e -mtune
As duas opções servem para otimizar a geração de código de máquina para determinada família de processadores. -march diz ao compilador qual conjunto de instruções será usado. -mtune mexe na forma como o código será organizado para tentar manter o processador o mais ocupado possível, escolhe instruções mais adequadas àquela família e aplica outras técnicas similares, porém sem modificar o conjunto base de instruções definido em -march . O mínimo -march em 64-bit é x86-64 , que é uma mescla de nocona (Pentium 4 e Xeon derivados) e k8 (AMD Athlon 64 e Opteron). Comparado com o mínimo i386 de 32-bit, é um ponto de corte bem mais alto, que oferece ao compilador mais instruções. Hoje em dia as distribuições configuram seus toolchains para usarem por padrão i686 (Pentium Pro para cima) em 32-bit e x86-64 em 64-bit. Escolhas de certa forma conservadoras, mas necessárias, pois estamos falando do conjunto de instruções. Existe um -march especial: native . -march=native escolhe pelo...