LINUX.ORG.RU

[gcc]Проблемы


0

0

Доброго времени суток.
Наткнулся на следущую проблему:

gcc-4.6.1 генерирует код с меньшим использованием регистров для
-march=corei7-avx, чем -march=core2.

Пруф:core2
для corei7-avx
./analyze /bin/bash
instructions:
cpuid: 0 nop: 1759 call: 0 count: 167528
i686: 498
mmx: 1245

для core2
./analyze /bin/bash
instructions:
cpuid: 0 nop: 1794 call: 0 count: 168472
i686: 498
mmx: 1248
sse: 120

CFLAGS="-march=corei7-avx -mtune=corei7-avx -msse4.2 -O2 -pipe -mfpmath=sse -msse4.2 -fomit-frame-pointer -fno-align-labels -finline-functions"
во втором случае -march и -mtune заменяются на core2.

Получается, что gcc хуже генерирует код для corei7?


★★

>-march=corei7-avx -mtune=corei7-avx -msse4.2 -O2 -pipe -mfpmath=sse -msse4.2

avx

mfpmath=sse -msse4.2


/0
давно есть -mfpmath=avx и -mavx
и mtune можешь убрать - без него он будет аналогичным march
а лучше под genric mtune - профитов больше

megabaks ★★★★ ()

>-fno-align-labels
при гцц >=4.4 профита не дают

-finline-functions"

зачем?

megabaks ★★★★ ()
Ответ на: комментарий от devl547

кстати да
и ещё интересно зачем на баше проверять...

megabaks ★★★★ ()
Ответ на: комментарий от megabaks

Совсем другое дело теперь... ./Test /bin/bash nop: 7650 call: 13700 i686: 498 avx: 120

tis ★★ ()
Ответ на: комментарий от fork_you

коротко - был скрипт этот на перле (адрес не помню)
потом Сильвия перепилила на сях
потом, емнип, anon_666 запилил на баше + добавил распоследних на тот момент инструкций
вот так как-то

megabaks ★★★★ ()
Ответ на: комментарий от megabaks

в чём проблема?

какая проблема? где проблема?

просто я всегда рад найти какой-либо новый инструмент исследования/сбора статистики/профайлирования и заюзать его на чем-нибудь все равно на чем. потом можно пофапать на результат зелеными буквами в чорной консоли. джаст фо фан.

или тебе только ебыдлы подавай?

и вообще я с генту завязал. это вредно для глаз.

fork_you ()
Ответ на: комментарий от tis

-march=corei7-avx -mtune=generic -O2 -pipe -mfpmath=sse -mavx
и если планируешь собирать и старым компилятором ( <=4.5 ) то оставить -fomit-frame-pointer, если 32-бита

megabaks ★★★★ ()
Ответ на: комментарий от megabaks

идиот, сравни скорость на Core i7 с тем и другим флагом, потом вякай

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.