* MM registers which might not be changed can be still used in 3 op mathematical operations as source

git-svn-id: trunk@43509 -
This commit is contained in:
florian 2019-11-17 14:48:45 +00:00
parent 2d3ef8b4bc
commit 91f3f022fe

View File

@ -1107,7 +1107,7 @@ unit nx86add;
mms_movescalar);
end
{ we can use only right as left operand if the operation is commutative }
else if (right.location.loc=LOC_MMREGISTER) and (op in [OP_ADD,OP_MUL]) then
else if (right.location.loc in [LOC_MMREGISTER,LOC_CMMREGISTER]) and (op in [OP_ADD,OP_MUL]) then
begin
location.register:=cg.getmmregister(current_asmdata.CurrAsmList,left.location.size);
{ force floating point reg. location to be written to memory,