* change push/pop in getreg/ungetreg

This commit is contained in:
peter 2003-09-25 21:29:16 +00:00
parent 2392f28675
commit 1c11c95b3c

View File

@ -1273,9 +1273,9 @@ unit cgx86;
{ load destination }
a_load_reg_reg(list,OS_INT,OS_INT,NR_ESP,r);
{ don't destroy the registers! }
list.concat(Taicpu.op_reg(A_PUSH,S_L,NR_ECX));
list.concat(Taicpu.op_reg(A_PUSH,S_L,NR_ESI));
{ Allocate other registers }
rg.getexplicitregisterint(list,NR_ECX);
rg.getexplicitregisterint(list,NR_ESI);
{ load count }
a_load_ref_reg(list,OS_INT,OS_INT,lenref,NR_ECX);
@ -1312,8 +1312,8 @@ unit cgx86;
S_L : list.concat(Taicpu.Op_none(A_MOVSD,S_NO));
end;
rg.ungetregisterint(list,r);
list.concat(Taicpu.op_reg(A_POP,S_L,NR_ESI));
list.concat(Taicpu.op_reg(A_POP,S_L,NR_ECX));
rg.ungetregisterint(list,NR_ESI);
rg.ungetregisterint(list,NR_ECX);
{ patch the new address }
a_load_reg_ref(list,OS_INT,OS_INT,NR_ESP,ref);
@ -1607,7 +1607,10 @@ unit cgx86;
end.
{
$Log$
Revision 1.65 2003-09-25 13:13:32 florian
Revision 1.66 2003-09-25 21:29:16 peter
* change push/pop in getreg/ungetreg
Revision 1.65 2003/09/25 13:13:32 florian
* more x86-64 fixes
Revision 1.64 2003/09/11 11:55:00 florian