[solved]Использование "отсуствующих" инструкций.

flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl tm2 ssse3 cx16 xtpr pdcm xsave lahf_lm dts
model name: Celeron(R) Dual-Core CPU       T3100  @ 1.90GHz

Во время

-mfpmath=sse -mmmx -msse3 -mssse3

было так

 ./po /usr/bin/mplayer 
instructions:
 cpuid: 14	 nop: 23595	 call: 37226	 count: 1514577
 i486:	 3684
 i586:	 1
 i686:	 6571
 mmx:	 81826
 sse:	 24484
 sse2:	 36831
 sse3:	 93
 ssse3:	 2871
 sse4.1:	 3
 3dnow!:	 729
 3dnowext:	 13

после

-mfpmath=387+sse -mmmx -msse4 -m3dnow -mssse3
и USE="3dnow"

стало

 ./po /usr/bin/mplayer 
instructions:
 cpuid: 14	 nop: 23771	 call: 37243	 count: 1504815
 i486:	 3684
 i586:	 1
 i686:	 6759
 mmx:	 79042
 sse:	 22890
 sse2:	 23548
 sse3:	 97
 ssse3:	 2871
 sse4.1:	 3321
 3dnow!:	 1116
 3dnowext:	 13

Откуда они(sse4.1, 3dnow, 3dnowext) появились?

PS http://optimization.hardlinux.ru/wp-content/uploads/2010/05/analyze-x86.c
PPS mplayer работает.

чего-то я не понял cenb

чего-то я не понял сути вопроса, вы же сами попросили gcc использовать sse4 и 3dnow... или вы спрашиваете, почему они в первый раз были? какие use?
ЗЫ: mplayer не лучший кандидат для тестирования... там своя оптимизация есть...

> mplayer не лучший кандидат

> mplayer не лучший кандидат для тестирования... там своя оптимизация есть...
согласен, но других крупных программ у меня нет.
> чего-то я не понял сути вопроса,
Процессор их не поддерживает, ни sse4.1 3dnow нету в /proc/cpuinfo.

Насколько я понял, глянув

Насколько я понял, глянув наискосок на исходник на сях, эта штука считает вхождения во всём бинарнике целиком. Что неправильно. Бинарник состоит не только из инструкций. Там ещё и данные есть. Именно поэтому всплывает то, чего там нет. Это раз, и два: где CFLAGS из make.conf?

PS

PS http://optimization.hardlinux.ru/wp-content/uploads/2010/05/analyze-x86.c
 PPS mplayer работает.

Чувак явно не осилил бинутилсы и перл, ну а ТС не осили eix, ибо в дереве

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

> ну а ТС не осили eix, ибо в

> ну а ТС не осили eix, ибо в дереве
*Внезапно* eix не установлен.

Бинарник вполне может

Бинарник вполне может содержать инструкции не поддерживаемые вашим процессором. И ничего страшного в этом нет, ежели эти инструкции выполняются после выполнения программных проверок на предмет поддержки этих самых инструкций. Ежели программа писана корректно - ни одна их неподдерживаемых инструкций никогда не выполнится. Мплеер писан так, что может использовать некий универсальный бинарник на разных платформах, используя те или иные ветки кода. Следует заметить, что далеко не все программы написаны именно так, потому при вызове неподдерживаемых инструкций программки сегфолтятся.

Спасибо, ясно.

Спасибо, ясно.

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

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