Привет всем. Откопал тут скачанный с сайта megabaks'a скрипт который проверяет наличие использования в коде инструкций (sse, sse2..etc) и проанализировал несколько бинарей. В большинстве даже ssse3 нету совсем. Я понимаю не в каждый софт их использует, но посмотрев анализ кода mplayer у megabaks'a увидел что у него и sse4.1 инструкции генерируются, а вот у меня нет.
kernel@gentoo /opt $ ./analyse /usr/bin/mplayer
instructions:
cpuid: 13 nop: 22137 call: 46847 count: 2126393
i486: 4296
i586: 1
i686: 7366
mmx: 213745
sse: 46391
sse2: 21223
sse3: 120
ssse3: 289
3dnow!: 4668
3dnowext: 145
Пробовал и на amd64 и на x86 - практически одно и тоже. Гента собирается с такими CFLAGS:
CFLAGS="-march=core2 -O2 -mfpmath=sse -msse4.1 -msahf -g0 -fomit-frame-pointer --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=6144 -pipe"
Вопрос почему так? Как выпрямить руки?