* fixed TX86AsmOptimizer.RegLoadedWithNewValue for 3-operand imul, where the

second operand is a memory reference

git-svn-id: trunk@36067 -
This commit is contained in:
nickysn 2017-05-03 13:43:16 +00:00
parent 1f5aec6d3d
commit 65960048c8

View File

@ -438,7 +438,8 @@ unit aoptx86;
((p.opcode = A_IMUL) and
(p.ops=3) and
(Reg1WriteOverwritesReg2Entirely(p.oper[2]^.reg,reg)) and
not((Reg1ReadDependsOnReg2(p.oper[1]^.reg,reg))));
(((p.oper[1]^.typ=top_reg) and not(Reg1ReadDependsOnReg2(p.oper[1]^.reg,reg))) or
((p.oper[1]^.typ=top_ref) and not(RegInRef(reg,p.oper[1]^.ref^)))));
end;