Parcourir la source

* source can also be a LOC_CREGISTER for bsr/bsf

git-svn-id: trunk@29980 -
Jonas Maebe il y a 10 ans
Parent
commit
5e339e89e4
1 fichiers modifiés avec 4 ajouts et 4 suppressions
  1. 4 4
      compiler/ncginl.pas

+ 4 - 4
compiler/ncginl.pas

@@ -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;