* change "pop reg/push reg to "mov (%esp), reg" with -Ox, remove otherwise

This commit is contained in:
Jonas Maebe 1998-07-15 16:06:00 +00:00
parent 919a4ee1bb
commit 879b7d0288

View File

@ -1229,15 +1229,19 @@ End;
(Pai386(hp1)^._operator=A_PUSH) and (Pai386(hp1)^._operator=A_PUSH) and
(Pai386(hp1)^.op1t = top_reg) And (Pai386(hp1)^.op1t = top_reg) And
(Pai386(hp1)^.op1=Pai386(p)^.op1) then (Pai386(hp1)^.op1=Pai386(p)^.op1) then
begin If (Not(cs_maxoptimieren in aktswitches)) Then
Begin
hp2:=pai(hp1^.next); hp2:=pai(hp1^.next);
asml^.remove(p); asml^.remove(p);
asml^.remove(hp1); asml^.remove(hp1);
dispose(p,done); dispose(p,done);
dispose(hp1,done); dispose(hp1,done);
p:=hp2; p:=hp2;
continue; continue
{ Pai386(p)^._operator := A_MOV; End
Else
Begin
Pai386(p)^._operator := A_MOV;
Pai386(p)^.op2 := Pai386(p)^.op1; Pai386(p)^.op2 := Pai386(p)^.op1;
Pai386(p)^.opxt := top_ref + top_reg shl 4; Pai386(p)^.opxt := top_ref + top_reg shl 4;
New(TmpRef); New(TmpRef);
@ -1251,8 +1255,8 @@ End;
Pai386(p)^.op1 := Pointer(TmpRef); Pai386(p)^.op1 := Pointer(TmpRef);
hp1 := Pai(p^.next); hp1 := Pai(p^.next);
AsmL^.Remove(hp1); AsmL^.Remove(hp1);
Dispose(hp1, Done)} Dispose(hp1, Done)
end; End
end; end;
A_PUSH: A_PUSH:
Begin Begin
@ -1631,7 +1635,10 @@ end;
End. End.
{ {
$Log$ $Log$
Revision 1.16 1998-07-14 14:46:42 peter Revision 1.17 1998-07-15 16:06:00 jonas
* change "pop reg/push reg to "mov (%esp), reg" with -Ox, remove otherwise
Revision 1.16 1998/07/14 14:46:42 peter
* released NEWINPUT * released NEWINPUT
Revision 1.15 1998/06/16 08:56:17 peter Revision 1.15 1998/06/16 08:56:17 peter