* Optalign conditional code adapted to record Tregister

This commit is contained in:
daniel 2003-01-17 12:03:45 +00:00
parent 674d7a80b8
commit b917897ef4

View File

@ -650,16 +650,18 @@ implementation
and nested procedures
}
inc(push_size,12);
emit_reg_reg(A_MOV,S_L,R_ESP,R_EDI);
r.enum:=R_ESP:
r2.enum:=R_EDI;
emit_reg_reg(A_MOV,S_L,r,r2);
if (push_size mod 8)=0 then
emit_const_reg(A_AND,S_L,$fffffff8,R_ESP)
emit_const_reg(A_AND,S_L,$fffffff8,r)
else
begin
emit_const_reg(A_SUB,S_L,push_size,R_ESP);
emit_const_reg(A_AND,S_L,$fffffff8,R_ESP);
emit_const_reg(A_SUB,S_L,push_size,R_ESP);
emit_const_reg(A_SUB,S_L,push_size,r);
emit_const_reg(A_AND,S_L,$fffffff8,r);
emit_const_reg(A_SUB,S_L,push_size,r);
end;
emit_reg(A_PUSH,S_L,R_EDI);
emit_reg(A_PUSH,S_L,r2);
end
else
pop_esp:=false;
@ -1248,8 +1250,9 @@ implementation
tppcprocinfo(procinfo).maxpushedparasize:=pushedparasize;
{$endif powerpc}
{$ifdef OPTALIGN}
r.enum:=R_ESP;
if pop_esp then
emit_reg(A_POP,S_L,R_ESP);
emit_reg(A_POP,S_L,r);
{$endif OPTALIGN}
dont_call:
pushedparasize:=oldpushedparasize;
@ -1569,7 +1572,10 @@ begin
end.
{
$Log$
Revision 1.33 2003-01-08 18:43:56 daniel
Revision 1.34 2003-01-17 12:03:45 daniel
* Optalign conditional code adapted to record Tregister
Revision 1.33 2003/01/08 18:43:56 daniel
* Tregister changed into a record
Revision 1.32 2002/12/15 22:50:00 florian