Browse Source

* Fixed remaining bug in cg so that -O2 works again

git-svn-id: trunk@4974 -
tom_at_work 19 years ago
parent
commit
2b5e324638
1 changed files with 1 additions and 1 deletions
  1. 1 1
      compiler/powerpc64/cgcpu.pas

+ 1 - 1
compiler/powerpc64/cgcpu.pas

@@ -887,7 +887,7 @@ begin
     extend the sign correctly. (The latter is actually required only for signed subsets and if that
     extend the sign correctly. (The latter is actually required only for signed subsets and if that
    subset is not >= the tosize). }
    subset is not >= the tosize). }
   extrdi_startbit := 64 - (sreg.bitlen + sreg.startbit);
   extrdi_startbit := 64 - (sreg.bitlen + sreg.startbit);
-  if (sreg.bitlen <> sizeof(aint)*8) then begin
+  if (sreg.startbit <> 0) then begin
     list.concat(taicpu.op_reg_reg_const_const(A_EXTRDI, destreg, sreg.subsetreg, sreg.bitlen, extrdi_startbit));
     list.concat(taicpu.op_reg_reg_const_const(A_EXTRDI, destreg, sreg.subsetreg, sreg.bitlen, extrdi_startbit));
     a_load_reg_reg(list, tcgsize2unsigned[subsetsize], subsetsize, destreg, destreg);
     a_load_reg_reg(list, tcgsize2unsigned[subsetsize], subsetsize, destreg, destreg);
     a_load_reg_reg(list, subsetsize, tosize, destreg, destreg);
     a_load_reg_reg(list, subsetsize, tosize, destreg, destreg);