mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 17:29:33 +02:00
* fixed allocation of ecx for shl
This commit is contained in:
parent
c4fe9ea482
commit
3394523d13
@ -625,15 +625,19 @@ implementation
|
|||||||
begin
|
begin
|
||||||
popecx:=true;
|
popecx:=true;
|
||||||
emit_reg(A_PUSH,S_L,R_ECX);
|
emit_reg(A_PUSH,S_L,R_ECX);
|
||||||
end;
|
end
|
||||||
|
else
|
||||||
|
getexplicitregister32(R_ECX);
|
||||||
emit_reg_reg(A_MOV,S_L,hregister2,R_ECX);
|
emit_reg_reg(A_MOV,S_L,hregister2,R_ECX);
|
||||||
|
ungetregister32(hregister2);
|
||||||
end;
|
end;
|
||||||
ungetregister32(hregister2);
|
|
||||||
{ right operand is in ECX }
|
{ right operand is in ECX }
|
||||||
emit_reg_reg(op,S_L,R_CL,hregister1);
|
emit_reg_reg(op,S_L,R_CL,hregister1);
|
||||||
{ maybe ECX back }
|
{ maybe ECX back }
|
||||||
if popecx then
|
if popecx then
|
||||||
emit_reg(A_POP,S_L,R_ECX);
|
emit_reg(A_POP,S_L,R_ECX)
|
||||||
|
else
|
||||||
|
ungetregister32(R_ECX);
|
||||||
location.register:=hregister1;
|
location.register:=hregister1;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -987,7 +991,10 @@ begin
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.1 2000-10-15 09:33:32 peter
|
Revision 1.2 2000-10-17 15:39:34 jonas
|
||||||
|
* fixed allocation of ecx for shl
|
||||||
|
|
||||||
|
Revision 1.1 2000/10/15 09:33:32 peter
|
||||||
* moved n386*.pas to i386/ cpu_target dir
|
* moved n386*.pas to i386/ cpu_target dir
|
||||||
|
|
||||||
Revision 1.4 2000/10/14 10:14:49 peter
|
Revision 1.4 2000/10/14 10:14:49 peter
|
||||||
|
Loading…
Reference in New Issue
Block a user