浏览代码

* fixed a_load_subsetreg_reg for loading signed fields (EXTRDI results
in an unsigned number)

git-svn-id: trunk@3739 -

Jonas Maebe 19 年之前
父节点
当前提交
b784b2f39e
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      compiler/powerpc64/cgcpu.pas

+ 1 - 1
compiler/powerpc64/cgcpu.pas

@@ -898,7 +898,7 @@ begin
     a_load_reg_reg(list, subsetsize, tosize, subsetreg, destreg);
     a_load_reg_reg(list, subsetsize, tosize, subsetreg, destreg);
 
 
   // extend sign (actually only required for signed subsets...) and if that subset isn't >= real size
   // extend sign (actually only required for signed subsets...) and if that subset isn't >= real size
-  a_load_reg_reg(list, subsetsize, tosize, destreg, destreg);
+  a_load_reg_reg(list, tcgsize2unsigned[subsetsize], tosize, destreg, destreg);
 end;
 end;
 
 
 procedure tcgppc.a_load_reg_subsetreg(list : TAsmList; fromsize: tcgsize; subsetregsize, 
 procedure tcgppc.a_load_reg_subsetreg(list : TAsmList; fromsize: tcgsize; subsetregsize,