|
@@ -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;
|