* 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 begin
if location.reference.base=NR_NO then if location.reference.base=NR_NO then
begin 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; location.reference.base:=reg;
end end
else if location.reference.index=NR_NO then else if location.reference.index=NR_NO then
begin 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; location.reference.index:=reg;
end end
else else
@ -491,7 +493,8 @@ implementation
cg.a_loadaddr_ref_reg(exprasmlist,location.reference,hreg); cg.a_loadaddr_ref_reg(exprasmlist,location.reference,hreg);
reference_reset_base(location.reference,hreg,0); reference_reset_base(location.reference,hreg,0);
{ insert new index register } { 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; location.reference.index:=reg;
end; end;
end; end;
@ -878,7 +881,10 @@ begin
end. end.
{ {
$Log$ $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 * reverted Peter's alloctemp patch; hopefully properly
Revision 1.82 2003/12/03 23:13:20 peter Revision 1.82 2003/12/03 23:13:20 peter