LINUX.ORG.RU

История изменений

Исправление uin, (текущая версия) :

Я так понимаю, что подсчитанные такты ты не собираешься написать?

Я то напишу, просто ты тут же сольешься и ради чего спрашивается было разбирать вот эту лапшу?

f(int, int**):
    { disp  %ctpr2, .L6 }    ~ a-1
    { return        %ctpr3 } ~ a-2
    { disp  %ctpr1, .L200}   ~ a-3
    { }                      ~ a-4
    { }                      ~ a-5
    { ct %ctpr2 ? ~%pred0  } ~ a-6 ? => b-7
    { }                      ~ a-7
    { }                      ~ a-8
    { ct %ctpr1 ? %pred7 }   ~ a-9 ? => c-10
    { nop 2 }                ~ a-[10...12]
    { }                      ~ a-13
    { ct   %ctpr3 ? %pred2 } ~ a-14 ? => выход
    { ct   %ctpr3 ? %pred8 } 
    { ct   %ctpr3 ? %pred6 } 
    { ct   %ctpr3 ? %pred0 } 
    { ct   %ctpr3 ? %pred9 } 
    { ct   %ctpr3 ? %pred5 } 
    { ct   %ctpr3 ? %pred4 } 
    { ct   %ctpr3 ? %pred3 } ~ a-21 ? => выход
.L6:
    { return        %ctpr3 } ~ b-7
    { disp  %ctpr2, .L200 }  ~ b-8
    { }                      ~ b-9
    { }                      ~ b-10
    { }                      ~ b-11
    { }                      ~ b-12
    { ct  %ctpr2 ? %pred9 }  ~ b-13 ? => e-14
    { ct  %ctpr3 ? ~%pred11} ~ b-14 ? => выход
    { ct  %ctpr3 ? ~%pred6 } ~ b-15 ? => выход
    { ct  %ctpr3 ? ~%pred8 } ~ b-16 ? => выход
    { nop 1 }                ~ b-[17...18]
    { nop 1 }                ~ b-[19...20]
    { ct  %ctpr3 ? %pred0 }  ~ b-21 ? => выход
.L200:
    { nop 4; return  %ctpr3 }~ c-[10...14] | e[14...18]
    { nop 4 }                ~ c-[15...19] | e[19...23]
    { nop 1 }                ~ c-[20...21] | e[23...24]
    { ct    %ctpr3 }         ~ c-22 | e-25 => выход

Исходная версия uin, :

Я так понимаю, что подсчитанные такты ты не собираешься написать?

Я то напишу, просто ты тут же сольешься и ради чего спрашивается было разбирать вот эту лапшу?

f(int, int**):
    { disp  %ctpr2, .L6 }    ~ a-1
    { return        %ctpr3 } ~ a-2
    { disp  %ctpr1, .L200}   ~ a-3
    { }                      ~ a-4
    { }                      ~ a-5
    { ct %ctpr2 ? ~%pred0  } ~ a-6 ? => b-6
    { }                      ~ a-7
    { }                      ~ a-8
    { ct %ctpr1 ? %pred7 }   ~ a-9 ? => c-10
    { nop 2 }                ~ a-[10...12]
    { }                      ~ a-13
    { ct   %ctpr3 ? %pred2 } ~ a-14 ? => выход
    { ct   %ctpr3 ? %pred8 } 
    { ct   %ctpr3 ? %pred6 } 
    { ct   %ctpr3 ? %pred0 } 
    { ct   %ctpr3 ? %pred9 } 
    { ct   %ctpr3 ? %pred5 } 
    { ct   %ctpr3 ? %pred4 } 
    { ct   %ctpr3 ? %pred3 } ~ a-21 ? => выход
.L6:
    { return        %ctpr3 } ~ b-7
    { disp  %ctpr2, .L200 }  ~ b-8
    { }                      ~ b-9
    { }                      ~ b-10
    { }                      ~ b-11
    { }                      ~ b-12
    { ct  %ctpr2 ? %pred9 }  ~ b-13 ? => e-14
    { ct  %ctpr3 ? ~%pred11} ~ b-14 ? => выход
    { ct  %ctpr3 ? ~%pred6 } ~ b-15 ? => выход
    { ct  %ctpr3 ? ~%pred8 } ~ b-16 ? => выход
    { nop 1 }                ~ b-[17...18]
    { nop 1 }                ~ b-[19...20]
    { ct  %ctpr3 ? %pred0 }  ~ b-21 ? => выход
.L200:
    { nop 4; return  %ctpr3 }~ c-[10...14] | e[14...18]
    { nop 4 }                ~ c-[15...19] | e[19...23]
    { nop 1 }                ~ c-[20...21] | e[23...24]
    { ct    %ctpr3 }         ~ c-22 | e-25 => выход