mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-18 07:49:12 +02:00
* fixed avr multiplication after r36344
git-svn-id: trunk@36369 -
This commit is contained in:
parent
22956c4393
commit
5138d4e067
@ -497,7 +497,7 @@ unit cgcpu;
|
|||||||
tmpreg: tregister;
|
tmpreg: tregister;
|
||||||
i : integer;
|
i : integer;
|
||||||
instr : taicpu;
|
instr : taicpu;
|
||||||
paraloc1,paraloc2,paraloc3 : TCGPara;
|
paraloc1,paraloc2 : TCGPara;
|
||||||
l1,l2 : tasmlabel;
|
l1,l2 : tasmlabel;
|
||||||
pd : tprocdef;
|
pd : tprocdef;
|
||||||
|
|
||||||
@ -636,14 +636,10 @@ unit cgcpu;
|
|||||||
pd:=search_system_proc('fpc_mul_integer');
|
pd:=search_system_proc('fpc_mul_integer');
|
||||||
paraloc1.init;
|
paraloc1.init;
|
||||||
paraloc2.init;
|
paraloc2.init;
|
||||||
paraloc3.init;
|
|
||||||
paramanager.getintparaloc(list,pd,1,paraloc1);
|
paramanager.getintparaloc(list,pd,1,paraloc1);
|
||||||
paramanager.getintparaloc(list,pd,2,paraloc2);
|
paramanager.getintparaloc(list,pd,2,paraloc2);
|
||||||
paramanager.getintparaloc(list,pd,3,paraloc3);
|
|
||||||
a_load_const_cgpara(list,OS_8,0,paraloc3);
|
|
||||||
a_load_reg_cgpara(list,OS_16,src,paraloc2);
|
a_load_reg_cgpara(list,OS_16,src,paraloc2);
|
||||||
a_load_reg_cgpara(list,OS_16,dst,paraloc1);
|
a_load_reg_cgpara(list,OS_16,dst,paraloc1);
|
||||||
paramanager.freecgpara(list,paraloc3);
|
|
||||||
paramanager.freecgpara(list,paraloc2);
|
paramanager.freecgpara(list,paraloc2);
|
||||||
paramanager.freecgpara(list,paraloc1);
|
paramanager.freecgpara(list,paraloc1);
|
||||||
alloccpuregisters(list,R_INTREGISTER,paramanager.get_volatile_registers_int(pocall_default));
|
alloccpuregisters(list,R_INTREGISTER,paramanager.get_volatile_registers_int(pocall_default));
|
||||||
@ -658,7 +654,6 @@ unit cgcpu;
|
|||||||
cg.a_reg_dealloc(list,NR_R24);
|
cg.a_reg_dealloc(list,NR_R24);
|
||||||
cg.a_load_reg_reg(list,OS_8,OS_8,NR_R25,GetNextReg(dst));
|
cg.a_load_reg_reg(list,OS_8,OS_8,NR_R25,GetNextReg(dst));
|
||||||
cg.a_reg_dealloc(list,NR_R25);
|
cg.a_reg_dealloc(list,NR_R25);
|
||||||
paraloc3.done;
|
|
||||||
paraloc2.done;
|
paraloc2.done;
|
||||||
paraloc1.done;
|
paraloc1.done;
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user