История изменений
Исправление tailgunner, (текущая версия) :
Я не настолько в этом разбираюсь, но
1) какие x86 инструкции имеют значительно большую сложность
За этим - в мануалы Intel.
2) на сколько часто они попадаются в программах
Это самое простое - выясняешь, какие инструкции дороги, дизассемблируешь /usr/bin, и строишь гистограмму %)
3) на сколько сильно упадёт производительность если сложные команды разбить на простые
Кому разбить - компилятору? Думаю, заметно. В тех же мануалах Intel можно найти, как Intel советует использовать свою ISA.
Под сложностью я понимаю 1) то что выполняется много циклов или использует микрокод 2) не имеет аналогов в ARM
Ну, строковые, наверное.
Некоторые эмпирические наблюдения. Бинари под армы иногда больше, иногда меньше. Возможно, thumb виноват
x86 делался и для плотной упаковки инструкций тоже.
Надо mv скастовать - ему ближе все эти uops'ы.
Исходная версия tailgunner, :
Я не настолько в этом разбираюсь, но
1) какие x86 инструкции имеют значительно большую сложность
За этим - в мануалы Intel.
2) на сколько часто они попадаются в программах
Это самое простое - выясняешь, какие инструкции дороги, дизассемблируешь /usr/bin, и строишь гистограмму %)
3) на сколько сильно упадёт производительность если сложные команды разбить на простые
Кому разбить - компилятору? Думаю, заметно. В тех же мануалах Intel можно найти, как Intel советует использовать свою ISA.
Под сложностью я понимаю 1) то что выполняется много циклов или использует микрокод 2) не имеет аналогов в ARM
Ну, строковые, наверное.
Некоторые эмпирические наблюдения. Бинари под армы иногда больше, иногда меньше. Возможно, thumb виноват
x86 делался и для плотной упаковки инструкций тоже.
Надо mv скастовыать - ему ближе все эти uops'ы.