Подтвердить что ты не робот

Что именно делает -march = native?

Gentoo Wiki рассказал мне следующее:

Предупреждение: поддержка GCC 4.2 и выше -march = родной. -march = native добавляет дополнительные настройки за пределы -march, специфичный для вашего процессора. Если у вас нет конкретная причина не для (например, distcc кросс-компиляция), вы, вероятно, должны используйте -march = native, а не все, что указано ниже.

Каковы эти дополнительные настройки?

4b9b3361

Ответ 1

Nevermind.

$ cc -march=core2 -E -v - </dev/null 2>&1 | grep cc1
 /[...]/cc1 -E -quiet -v -iprefix /[...]/4.3.2/ - -march=core2

$ cc -march=native -E -v - </dev/null 2>&1 | grep cc1
 /[...]/cc1 -E -quiet -v -iprefix /[...]/4.3.2/ - -march=core2 -mcx16 -msahf --param l1-cache-size=32 --param l1-cache-line-size=64 -mtune=core2

Мне очень нравится этот вариант. -mcx16 и -msahf - это две дополнительные команды CPU, которые теперь могут использовать gcc, которые не были доступны в более ранних версиях Core2.