|
@@ -1011,12 +1011,12 @@ const
|
|
r.number:=NR_R11;
|
|
r.number:=NR_R11;
|
|
a_reg_alloc(list,r);
|
|
a_reg_alloc(list,r);
|
|
{ save end of fpr save area }
|
|
{ save end of fpr save area }
|
|
- list.concat(taicpu.op_reg_reg_const(A_ORI,r,rsp,0));
|
|
|
|
|
|
+ list.concat(taicpu.op_reg_reg(A_MR,r,rsp));
|
|
end;
|
|
end;
|
|
|
|
|
|
{ calculate the size of the locals }
|
|
{ calculate the size of the locals }
|
|
if usesgpr then
|
|
if usesgpr then
|
|
- inc(localsize,(NR_R31-firstreggpr.number+1)*4);
|
|
|
|
|
|
+ inc(localsize,((NR_R31-firstreggpr.number) shr 8+1)*4);
|
|
if usesfpr then
|
|
if usesfpr then
|
|
inc(localsize,(ord(R_F31)-ord(firstregfpu.enum)+1)*8);
|
|
inc(localsize,(ord(R_F31)-ord(firstregfpu.enum)+1)*8);
|
|
|
|
|
|
@@ -1075,7 +1075,7 @@ const
|
|
}
|
|
}
|
|
r.enum:=R_INTREGISTER;
|
|
r.enum:=R_INTREGISTER;
|
|
r.number:=NR_R11;
|
|
r.number:=NR_R11;
|
|
- reference_reset_base(href,r,-((NR_R31-firstreggpr.number) div (NR_R1-NR_R0)+1)*4);
|
|
|
|
|
|
+ reference_reset_base(href,r,-((NR_R31-firstreggpr.number) shr 8+1)*4);
|
|
list.concat(taicpu.op_reg_ref(A_STMW,firstreggpr,href));
|
|
list.concat(taicpu.op_reg_ref(A_STMW,firstreggpr,href));
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -1168,7 +1168,7 @@ const
|
|
{
|
|
{
|
|
a_call_name(objectlibrary.newasmsymbol('_restgpr_14');
|
|
a_call_name(objectlibrary.newasmsymbol('_restgpr_14');
|
|
}
|
|
}
|
|
- reference_reset_base(href,r2,-(ord(R_31)-ord(firstreggpr.enum)+1)*4);
|
|
|
|
|
|
+ reference_reset_base(href,r2,-((NR_R31-ord(firstreggpr.number)) shr 8+1)*4);
|
|
list.concat(taicpu.op_reg_ref(A_LMW,firstreggpr,href));
|
|
list.concat(taicpu.op_reg_ref(A_LMW,firstreggpr,href));
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -2199,7 +2199,10 @@ begin
|
|
end.
|
|
end.
|
|
{
|
|
{
|
|
$Log$
|
|
$Log$
|
|
- Revision 1.75 2003-03-19 14:26:26 jonas
|
|
|
|
|
|
+ Revision 1.76 2003-03-22 18:01:13 jonas
|
|
|
|
+ * fixed linux entry/exit code generation
|
|
|
|
+
|
|
|
|
+ Revision 1.75 2003/03/19 14:26:26 jonas
|
|
* fixed R_TOC bugs introduced by new register allocator conversion
|
|
* fixed R_TOC bugs introduced by new register allocator conversion
|
|
|
|
|
|
Revision 1.74 2003/03/13 22:57:45 olle
|
|
Revision 1.74 2003/03/13 22:57:45 olle
|