* source can also be a LOC_CREGISTER for bsr/bsf

git-svn-id: trunk@29980 -
This commit is contained in:
Jonas Maebe 2015-02-23 22:57:05 +00:00
parent a8d05b66e2
commit 5e339e89e4

View File

@ -749,15 +749,15 @@ implementation
secondpass(left);
opsize:=tcgsize2unsigned[left.location.size];
if opsize < OS_32 then
if opsize<OS_32 then
opsize:=OS_32;
if (left.location.loc <> LOC_REGISTER) or
(left.location.size <> opsize) then
if not(left.location.loc in [LOC_REGISTER,LOC_CREGISTER]) or
(left.location.size<>opsize) then
hlcg.location_force_reg(current_asmdata.CurrAsmList,left.location,left.resultdef,cgsize_orddef(opsize),true);
location_reset(location,LOC_REGISTER,opsize);
location.register := cg.getintregister(current_asmdata.CurrAsmList,opsize);
location.register:=cg.getintregister(current_asmdata.CurrAsmList,opsize);
cg.a_bit_scan_reg_reg(current_asmdata.CurrAsmList,reverse,opsize,left.location.register,location.register);
end;