Что именно делает-march=native?
Gentoo Wiki рассказал мне следующее:
предупреждение: поддержка GCC 4.2 и выше - март=родной. - march=native применяет дополнительные настройки за пределами-march, специфично для вашего процессора. Если у вас нет конкретная причина не (например, distcc cross-compiling), вы, вероятно, должны используйте -march=native, а не все, что перечислено ниже.
каковы эти дополнительные параметры?
1 ответов
Фигу.
$ 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
теперь gcc может использовать две дополнительные инструкции CPU, которые не были доступны в более ранних Core2.