[solved]Использование "отсуствующих" инструкций.
tn1 25 июля, 2011 - 18:00
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
Чувак явно не осилил бинутилсы и перл, ну а ТС не осили 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 не установлен.
Бинарник вполне может
Бинарник вполне может содержать инструкции не поддерживаемые вашим процессором. И ничего страшного в этом нет, ежели эти инструкции выполняются после выполнения программных проверок на предмет поддержки этих самых инструкций. Ежели программа писана корректно - ни одна их неподдерживаемых инструкций никогда не выполнится. Мплеер писан так, что может использовать некий универсальный бинарник на разных платформах, используя те или иные ветки кода. Следует заметить, что далеко не все программы написаны именно так, потому при вызове неподдерживаемых инструкций программки сегфолтятся.
Спасибо, ясно.
Спасибо, ясно.