* 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 and nested procedures
} }
inc(push_size,12); 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 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 else
begin begin
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_ESP); emit_const_reg(A_AND,S_L,$fffffff8,r);
emit_const_reg(A_SUB,S_L,push_size,R_ESP); emit_const_reg(A_SUB,S_L,push_size,r);
end; end;
emit_reg(A_PUSH,S_L,R_EDI); emit_reg(A_PUSH,S_L,r2);
end end
else else
pop_esp:=false; pop_esp:=false;
@ -1248,8 +1250,9 @@ implementation
tppcprocinfo(procinfo).maxpushedparasize:=pushedparasize; tppcprocinfo(procinfo).maxpushedparasize:=pushedparasize;
{$endif powerpc} {$endif powerpc}
{$ifdef OPTALIGN} {$ifdef OPTALIGN}
r.enum:=R_ESP;
if pop_esp then if pop_esp then
emit_reg(A_POP,S_L,R_ESP); emit_reg(A_POP,S_L,r);
{$endif OPTALIGN} {$endif OPTALIGN}
dont_call: dont_call:
pushedparasize:=oldpushedparasize; pushedparasize:=oldpushedparasize;
@ -1569,7 +1572,10 @@ begin
end. end.
{ {
$Log$ $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 * Tregister changed into a record
Revision 1.32 2002/12/15 22:50:00 florian Revision 1.32 2002/12/15 22:50:00 florian