Преглед на файлове

* tcgshlshrnode.second_integer: don't load the right expression into a register if it is already a LOC_CREGISTER

git-svn-id: trunk@22307 -
florian преди 13 години
родител
ревизия
1c8c2d6dbb
променени са 1 файла, в които са добавени 1 реда и са изтрити 1 реда
  1. 1 1
      compiler/ncgmat.pas

+ 1 - 1
compiler/ncgmat.pas

@@ -465,7 +465,7 @@ implementation
                 is done since most target cpu which will use this
                 is done since most target cpu which will use this
                 node do not support a shift count in a mem. location (cec)
                 node do not support a shift count in a mem. location (cec)
               }
               }
-              if right.location.loc<>LOC_REGISTER then
+              if not(right.location.loc in [LOC_CREGISTER,LOC_REGISTER]) then
                 begin
                 begin
                   hcountreg:=cg.getintregister(current_asmdata.CurrAsmList,opsize);
                   hcountreg:=cg.getintregister(current_asmdata.CurrAsmList,opsize);
                   hlcg.a_load_loc_reg(current_asmdata.CurrAsmList,right.resultdef,opdef,right.location,hcountreg);
                   hlcg.a_load_loc_reg(current_asmdata.CurrAsmList,right.resultdef,opdef,right.location,hcountreg);