* do not location_force_reg in tcgshlshrnode.second_integer if left is already in a register

git-svn-id: trunk@26797 -
This commit is contained in:
florian 2014-02-16 13:15:13 +00:00
parent ddb78fefdc
commit 3dddd01309

View File

@ -478,7 +478,10 @@ implementation
end;
{$endif cpunodefaultint}
hlcg.location_force_reg(current_asmdata.CurrAsmList,left.location,left.resultdef,opdef,true);
if not(left.location.loc in [LOC_CREGISTER,LOC_REGISTER]) or
{ location_force_reg can be also used to change the size of a register }
(left.location.size<>opsize) then
hlcg.location_force_reg(current_asmdata.CurrAsmList,left.location,left.resultdef,opdef,true);
location_reset(location,LOC_REGISTER,opsize);
location.register:=cg.getintregister(current_asmdata.CurrAsmList,opsize);