У меня процессор <имярек>. Что подставлять в переменную CFLAGS?

Список опробованных и безопасных параметров под любое семейство процессоров можно найти на gentoo-wiki: Safe Cflags.

Если Вы используете свежие версии компилятора GCC (то есть воспользовались правильным stage3 или уже обновились до GCC 4.3.x), то достаточно добавить -march=native.

Следующая команда покажет, какие опции оптимизации включит -march=native:

gcc -march=native -E -v - </dev/null 2>&1 | sed -n 's/.* -v - //p'

На всякий случай: помните, что чрезмерная оптимизация ведёт к запоюпроблемам!

Если я не могу использовать

Если я не могу использовать native, то все эти опции надо прописать вручную? или -march=pentium-m хватит?

celeron III

Vyvod kommandy pustoy!

Локальный оверлей растёт

Процессор athlon-xp определяется как athlon 4.

sysresccd conf.d # gcc -march=native -E -v - </dev/null 2>&1 | sed -n 's/.* -v - //p'
-D_FORTIFY_SOURCE=2 -march=athlon-4 --param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=256 -mtune=athlon

Это синонимы

Это синонимы:

Цитата:
athlon-4, athlon-xp, athlon-mp
Improved AMD Athlon CPU with MMX, 3dNOW!, enhanced 3dNOW! and full SSE instruction set support.

Working on Gentoo Linux for Asus P535 and Qtopia :-)

Использую свежую версию GCC

Использую свежую версию GCC (4.6.3).

При выполнении комманды: gcc -march=native -E -v - &1 | sed -n 's/.* -v - //p'
получил вот столько всего:

-march=corei7-avx -mcx16 -msahf -mno-movbe -maes -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-tbm -mavx -msse4.2 -msse4.1 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=3072 -mtune=corei7-avx

но систему устанавливал и настраивал с -march=core2 (где-то прочитал совет и поставил именно такой флажок)

gcc -march=core2 -E -v - &1 | sed -n 's/.* -v - //p'

выводит только: core2 (так понимаю, что через это много фичь процессора просто не используются...)

Поставил native. Как теперь правильно обновить систему?

Не обновить, а пересобрать

Не обновить, а пересобрать :)

emerge -e world -qva

Working on Gentoo Linux for Asus P535 and Qtopia :-)

.

И обратная сторона.
Когда стоит задача не оптимизация под конкретную железяку, а сборки generic stage4 под наличный парк оборудования, не обременённого свойством идентичности.
Простоты первого варианта (который от профиля не зависит) не получится.
Для amd64-march=x86-64
Для x86-march=i686 (для совместимости со старыми процессорами возможно i586 или даже i486, i386 — совсем вряд ли).
За прочие профили (начиная наверное с arm) прошу высказаться тех, кто с ними работает.

:wq
--
Live free or die

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".