* don't generate IMUL reg,1

This commit is contained in:
peter 2004-01-12 16:38:50 +00:00
parent c34c9af5ce
commit d28412f40b

View File

@ -476,12 +476,14 @@ implementation
begin
if location.reference.base=NR_NO then
begin
cg.a_op_const_reg(exprasmlist,OP_IMUL,OS_ADDR,l,reg);
if l<>1 then
cg.a_op_const_reg(exprasmlist,OP_IMUL,OS_ADDR,l,reg);
location.reference.base:=reg;
end
else if location.reference.index=NR_NO then
begin
cg.a_op_const_reg(exprasmlist,OP_IMUL,OS_ADDR,l,reg);
if l<>1 then
cg.a_op_const_reg(exprasmlist,OP_IMUL,OS_ADDR,l,reg);
location.reference.index:=reg;
end
else
@ -491,7 +493,8 @@ implementation
cg.a_loadaddr_ref_reg(exprasmlist,location.reference,hreg);
reference_reset_base(location.reference,hreg,0);
{ insert new index register }
cg.a_op_const_reg(exprasmlist,OP_IMUL,OS_ADDR,l,reg);
if l<>1 then
cg.a_op_const_reg(exprasmlist,OP_IMUL,OS_ADDR,l,reg);
location.reference.index:=reg;
end;
end;
@ -878,7 +881,10 @@ begin
end.
{
$Log$
Revision 1.83 2003-12-06 01:15:22 florian
Revision 1.84 2004-01-12 16:38:50 peter
* don't generate IMUL reg,1
Revision 1.83 2003/12/06 01:15:22 florian
* reverted Peter's alloctemp patch; hopefully properly
Revision 1.82 2003/12/03 23:13:20 peter