23 ноября 2011 г. 12:07 пользователь Eugene V. Boontseff
<[email protected]> написал:
> А почему не CPUTYPE?= native
$ grep native /usr/src/share/mk/bsd.cpu.mk
$ grep core2 /usr/src/share/mk/bsd.cpu.mk
. elif ${CPUTYPE} == "core" || ${CPUTYPE} == "core2"
. if ${CPUTYPE} == "prescott" || ${CPUTYPE} == "core2"
Наверное, поэтому?
(svn releng/8.2)
Кроме того, в native особого смысла в 8.2 нет. Ибо:
core2 имеют инструкции sse3, а gcc 4.2 умеет максимум sse2
Максимальный поддерживаемый режим gcc42 - nocona.
Когда делаем CPUTYPE?=core2, bsd.cpu.mk делает -march=nocona. Если
обновите ось до 9-ки, где gcc новее, скорее всего, то вполне возможно,
что bsd.cpu.mk будет делать -march=core2
В общем, см. файл - там всё довольно просто написано.
ЗЫЖ При использовании -march НЕ НУЖНО указывать -mtune. Хоть бы ман
удосужились почитать, прежде чем советовать это.
-march=cpu-type
Generate instructions for the machine type cpu-type. The choices
for cpu-type are the same as for -mtune. Moreover, specifying
-march=cpu-type implies -mtune=cpu-type.