если указано -march
будет сгенерирован код для указаного процессора,
-mtune лишь оптимизирует код для указаного процессора, в то же время сохраняется совместимость с младшими моделями, так что например можно
-march=i486 -mtune=i686
а вот в -march=i686 -mtune=i686
-mtune можно и не указывать.
"Не все процессоры одинаковы,поэтому давайте укажем компилятору на наш тип процессора.Для этого есть опции -mtune и -march.Отличие в том,что с опцией -mtune компилятор сделает код,который будет совместим с более младшими моделями процессора,в то время как с -march этого не происходит"
еще может вот это будет интересно, возможности процессоров.
Name Feature Flags Description
8086 Priv Only the original set of 16-bit instructions available on the Intel 8086 processor, including privileged instructions.
186, 80186, i186 Priv All instructions available on the Intel 80186 processor.
286, 80286, i286 Priv All instructions available on the Intel 80286 processor.
386, 80386, i386 SMM, Prot, Priv All instructions available on the Intel 80386 processor, including protected mode and SMM instructions.
486, 80486, i486 FPU, SMM, Prot, Priv All instructions available on the Intel 80486 processor, including FPU instructions.
586, i586, Pentium, P5 FPU, SMM, Prot, Priv All instructions available on the Intel Pentium processor.
686, i686, P6, PPro, PentiumPro FPU, SMM, Prot, Priv All instructions available on the Intel Pentium Pro processor.
P2, Pentium2, Pentium-2, PentiumII, Pentium-II MMX, FPU, SMM, Prot, Priv All instructions available on the Intel Pentium II processor, including MMX instructions.
P3, Pentium3, Pentium-3, PentiumIII, Pentium-III, Katmai SSE, MMX, FPU, SMM, Prot, Priv All instructions available on the Intel Pentium III processor, including SSE instructions.
P4, Pentium4, Pentium-4, PentiumIV, Pentium-IV, Williamette SSE2, SSE, MMX, FPU, SMM, Prot, Priv All instructions available on the Intel Pentium 4 processor, including SSE2 instructions.
IA64, IA-64, Itanium SSE2, SSE, MMX, FPU, SMM, Prot, Priv All instructions available on the Intel Itanium processor, including IA-64 specific x86 mode instructions.
K6 3DNow, MMX, FPU, SMM, Prot, Priv All instructions available on the AMD K6 processor, including 3DNow! instructions.
Athlon, K7 SSE, 3DNow, MMX, FPU, SMM, Prot, Priv All instructions available on the AMD Athlon processor, including SSE instructions.
Hammer, Clawhammer, Opteron, Athlon64, Athlon-64 SSE2, SSE, 3DNow, MMX, FPU, SMM, Prot, Priv All instructions available on the AMD Athlon64 and Opteron processors, including SSE2 and 64-bit instructions.
Prescott SSE3, SSE2, SSE MMX, FPU, SMM, Prot, Priv All instructions available on the Intel codename Prescott processor, including SSE3 and 64-bit instructions.
Conroe, Core2 SSSE3, SSE3, SSE2, SSE, MMX, FPU, SMM, Prot, Priv All instructions available on the Intel codename Conroe processor, including SSSE3 and 64-bit instructions.
Penryn SSE4.1, SSSE3, SSE3, SSE2, SSE, MMX, FPU, SMM, Prot, Priv All instructions available on the Intel codename Conroe processor, including SSE4.1 and 64-bit instructions.
Nehalem XSAVE, SSE4.2, SSE4.1, SSSE3, SSE3, SSE2, SSE, MMX, FPU, SMM, Prot, Priv All instructions available on the Intel codename Nehalem processor, including XSAVE, SSE4.2, and 64-bit instructions.
Westmere CLMUL, AES, XSAVE, SSE4.2, SSE4.1, SSSE3, SSE3, SSE2, SSE, MMX, FPU, SMM, Prot, Priv All instructions available on the Intel codename Westmere processor, including AES and FCLMULQDQ instructions.
Sandybridge AVX, CLMUL, AES, XSAVE, SSE4.2, SSE4.1, SSSE3, SSE3, SSE2, SSE, MMX, FPU, SMM, Prot, Priv All instructions available on the Intel codename Sandy Bridge processor, including AVX instructions.
Venice SSE3, SSE2, SSE, 3DNow, MMX, FPU, SMM, Prot, Priv All instructions available on the AMD codename Venice processor, including SSE3 instructions.
K10 SSE4a, SSE3, SSE2, SSE, 3DNow, MMX, FPU, SMM, Prot, Priv All instructions available on the AMD codename K10 processor, including SSE4a instructions.
Bulldozer SSE5, SSE4a, SSE3, SSE2, SSE, 3DNow, MMX, FPU, SMM, Prot, Priv All instructions available on the AMD codename Bulldozer processor, including SSE5 instructions.