mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-19 07:09:17 +02:00
* Optalign conditional code adapted to record Tregister
This commit is contained in:
parent
674d7a80b8
commit
b917897ef4
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user