* handle -<mm reg.> more cleverly if SSE is used

This commit is contained in:
florian 2021-09-18 22:11:03 +02:00
parent 5a2d884fe3
commit 5bcc530707

View File

@ -215,10 +215,8 @@ interface
begin
reg:=cg.getmmregister(current_asmdata.CurrAsmList,def_cgsize(resultdef));
cg.a_loadmm_ref_reg(current_asmdata.CurrAsmList,def_cgsize(resultdef),def_cgsize(resultdef),href,reg,mms_movescalar);
if not(left.location.loc=LOC_MMREGISTER) then
hlcg.location_force_mmregscalar(current_asmdata.CurrAsmList,left.location,left.resultdef,true);
location.register:=left.location.register;
cg.a_opmm_reg_reg(current_asmdata.CurrAsmList,OP_XOR,left.location.size,reg,location.register,mms_movescalar);
location.register:=reg;
cg.a_opmm_loc_reg(current_asmdata.CurrAsmList,OP_XOR,left.location.size,left.location,location.register,mms_movescalar);
end;
end;
end