Подскажите оптимальный -march для AMD K8 при CHOST="i686-pc-linux-gnu"

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

fat_angel
Сообщения: 88
ОС: ещё не определился

Подскажите оптимальный -march для AMD K8 при CHOST="i686-pc-linux-gnu"

Сообщение fat_angel »

Привет после чтения рекомендаций на различных форумах остановился на -march=k8, но в доке по GCC написано что этот ключ также как и amd64 предназначен для производства 64-битного кода (если не прав сильно не бейте), поэтому возникли сомнения действительно ли это оптимальный -march и не следует ли откатится до какого-нибудь k7 или athlon-mp?
Спасибо сказали:
Аватара пользователя
JohnBat26
Сообщения: 108
ОС: Gentoo

Re: Подскажите оптимальный -march для AMD K8 при CHOST="i686-pc-linux-gnu"

Сообщение JohnBat26 »

fat_angel писал(а):
18.02.2008 21:19
Привет после чтения рекомендаций на различных форумах остановился на -march=k8, но в доке по GCC написано что этот ключ также как и amd64 предназначен для производства 64-битного кода (если не прав сильно не бейте), поэтому возникли сомнения действительно ли это оптимальный -march и не следует ли откатится до какого-нибудь k7 или athlon-mp?

Если Вы используете компилятор версии 4.2.0 и выше, то вместо указания специфичного типа процессора,
необходимо указывать одно из двух (в параметрах: -march и -mtune):
1. generic: если Вы хотите, чтобы Ваш скомпилированный код запускался на
всех процессорах, архитектуры x86;
2. native: если Вы хотите оптимизировать код только для Вашего процессора. В
этом случае компилятор будет брать сведения о процессоре путем вызова
cpuid ! Т.е никаких nocona (для Core 2 Duo) или prescott (для последних
Intel Pentium 4 и т.п).

Также смотри наш Cборник статей о Gentoo !

Там есть примечания об этом !
Удачи ! :rolleyes:
Gentoo Linux x86-64 на DELL Inspiron 9400 Core 2 Duo T7200-2.0 /4048 /512/GF NV7900 256Mb/17"
Спасибо сказали:
fat_angel
Сообщения: 88
ОС: ещё не определился

Re: Подскажите оптимальный -march для AMD K8 при CHOST="i686-pc-linux-gnu"

Сообщение fat_angel »

Спасибо за отклик! Про GCC 4.2.0 конечно читал, но как я понимаю он доступен только в ~x86, а я всетаки предпочитаю стабильную ветку и сижу на GCC 4.1.2, поэтому и задал этот вопрос.

П.С. За сборник статей отдельное спасибо!!!
Спасибо сказали:
Eraser
Сообщения: 224
ОС: Gentoo Linux

Re: Подскажите оптимальный -march для AMD K8 при CHOST="i686-pc-linux-gnu"

Сообщение Eraser »

Если Вы используете компилятор версии 4.2.0 и выше, то вместо указания специфичного типа процессора,
необходимо указывать одно из двух (в параметрах: -march и -mtune):
1. generic: если Вы хотите, чтобы Ваш скомпилированный код запускался на
всех процессорах, архитектуры x86;
2. native: если Вы хотите оптимизировать код только для Вашего процессора. В
этом случае компилятор будет брать сведения о процессоре путем вызова
cpuid ! Т.е никаких nocona (для Core 2 Duo) или prescott (для последних
Intel Pentium 4 и т.п).


Тип процессора можно указывать. Никто этого пока не отменял. Просто добавлена возможность указать native, чтобы gcc сам определил, что у вас за процессор.
Спасибо сказали:
Аватара пользователя
JohnBat26
Сообщения: 108
ОС: Gentoo

Re: Подскажите оптимальный -march для AMD K8 при CHOST="i686-pc-linux-gnu"

Сообщение JohnBat26 »

fat_angel писал(а):
19.02.2008 13:59
Спасибо за отклик! Про GCC 4.2.0 конечно читал, но как я понимаю он доступен только в ~x86, а я всетаки предпочитаю стабильную ветку и сижу на GCC 4.1.2, поэтому и задал этот вопрос.

П.С. За сборник статей отдельное спасибо!!!


Вот флаги для GCC 4.1.2:
Типы процессоров для GCC 4.1.2

:rolleyes:

Eraser писал(а):
19.02.2008 14:04
Если Вы используете компилятор версии 4.2.0 и выше, то вместо указания специфичного типа процессора,
необходимо указывать одно из двух (в параметрах: -march и -mtune):
1. generic: если Вы хотите, чтобы Ваш скомпилированный код запускался на
всех процессорах, архитектуры x86;
2. native: если Вы хотите оптимизировать код только для Вашего процессора. В
этом случае компилятор будет брать сведения о процессоре путем вызова
cpuid ! Т.е никаких nocona (для Core 2 Duo) или prescott (для последних
Intel Pentium 4 и т.п).


Тип процессора можно указывать. Никто этого пока не отменял. Просто добавлена возможность указать native, чтобы gcc сам определил, что у вас за процессор.

Но, IHMO, указывать native на порядок удобнее !
Gentoo Linux x86-64 на DELL Inspiron 9400 Core 2 Duo T7200-2.0 /4048 /512/GF NV7900 256Mb/17"
Спасибо сказали:
Eraser
Сообщения: 224
ОС: Gentoo Linux

Re: Подскажите оптимальный -march для AMD K8 при CHOST="i686-pc-linux-gnu"

Сообщение Eraser »

http://gcc.gnu.org/onlinedocs/gcc-4.2.3/gc..._002d64-Options
Но, IHMO, указывать native на порядок удобнее !

Только для некоторых процессоров.
Мой celeron может запросто определиться и как pentium3 и как pentium4 :)
Спасибо сказали:
Аватара пользователя
JohnBat26
Сообщения: 108
ОС: Gentoo

Re: Подскажите оптимальный -march для AMD K8 при CHOST="i686-pc-linux-gnu"

Сообщение JohnBat26 »

Eraser писал(а):
19.02.2008 14:18
http://gcc.gnu.org/onlinedocs/gcc-4.2.3/gc..._002d64-Options
Но, IHMO, указывать native на порядок удобнее !

Только для некоторых процессоров.
Мой celeron может запросто определиться и как pentium3 и как pentium4 :)

Ок, внесу коррективы в версию книги 1.5
Gentoo Linux x86-64 на DELL Inspiron 9400 Core 2 Duo T7200-2.0 /4048 /512/GF NV7900 256Mb/17"
Спасибо сказали: