Prechádzať zdrojové kódy

+ implemented cgsize2subreg for z80

git-svn-id: branches/z80@44500 -
nickysn 5 rokov pred
rodič
commit
54097433da
1 zmenil súbory, kde vykonal 16 pridanie a 1 odobranie
  1. 16 1
      compiler/z80/cpubase.pas

+ 16 - 1
compiler/z80/cpubase.pas

@@ -348,7 +348,22 @@ unit cpubase;
 
     function cgsize2subreg(regtype: tregistertype; s:Tcgsize):Tsubregister;
       begin
-        cgsize2subreg:=R_SUBWHOLE;
+        case s of
+          OS_8,OS_S8:
+            cgsize2subreg:=R_SUBL;
+          OS_16,OS_S16:
+            cgsize2subreg:=R_SUBW;
+          OS_32,OS_S32:
+            cgsize2subreg:=R_SUBD;
+          OS_64,OS_S64:
+            cgsize2subreg:=R_SUBQ;
+          OS_NO:
+            { error message should have been thrown already before, so avoid only
+              an internal error }
+            cgsize2subreg:=R_SUBNONE;
+          else
+            internalerror(200301231);
+        end;
       end;