瀏覽代碼

m68k/n68kmat.pas, tm68kshlshrnode.first_shlshr64bitint:
use RTL helper functions (through the inherited method) if we're not shifting by a constant

This fixes test/cg/tshlshr

git-svn-id: trunk@23378 -

svenbarth 12 年之前
父節點
當前提交
741992bae4
共有 1 個文件被更改,包括 6 次插入2 次删除
  1. 6 2
      compiler/m68k/n68kmat.pas

+ 6 - 2
compiler/m68k/n68kmat.pas

@@ -264,8 +264,12 @@ implementation
 
     function tm68kShlShrNode.first_shlshr64bitint:TNode;
       begin
-        { 2nd pass is our friend }
-        result := nil;
+        if is_64bit(left.resultdef) and not (right.nodetype=ordconstn) then
+          { for 64bit shifts with anything but constants we use rtl helpers }
+          result:=inherited
+        else
+          { 2nd pass is our friend }
+          result := nil;
       end;