Sfoglia il codice sorgente

* supreg_name added

peter 22 anni fa
parent
commit
65e2afbd58
1 ha cambiato i file con 27 aggiunte e 1 eliminazioni
  1. 27 1
      compiler/sparc/cpubase.pas

+ 27 - 1
compiler/sparc/cpubase.pas

@@ -968,6 +968,8 @@ type
     function  flags_to_cond(const f: TResFlags) : TAsmCond;
     function  flags_to_cond(const f: TResFlags) : TAsmCond;
     procedure convert_register_to_enum(var r:Tregister);
     procedure convert_register_to_enum(var r:Tregister);
     function cgsize2subreg(s:Tcgsize):Tsubregister;
     function cgsize2subreg(s:Tcgsize):Tsubregister;
+    function supreg_name(r:Tsuperregister):string;
+
 
 
 implementation
 implementation
 
 
@@ -1020,10 +1022,34 @@ implementation
         cgsize2subreg:=R_SUBWHOLE;
         cgsize2subreg:=R_SUBWHOLE;
       end;
       end;
 
 
+
+    function supreg_name(r:Tsuperregister):string;
+      const
+        supreg_names:array[0..last_supreg] of string[4]=
+          ('INV',
+           'g0','g1','g2','g3','g4','g5','g6','g7',
+           'o0','o1','o2','o3','o4','o5','o6','o7',
+           'l0','l1','l2','l3','l4','l5','l6','l7',
+           'i0','i1','i2','i3','i4','i5','i6','i7');
+      var
+        s : string[4];
+      begin
+        if r in [0..last_supreg] then
+          supreg_name:=supreg_names[r]
+        else
+          begin
+            str(r,s);
+            supreg_name:='reg'+s;
+          end;
+      end;
+
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.41  2003-06-12 19:11:34  jonas
+  Revision 1.42  2003-06-13 21:08:30  peter
+    * supreg_name added
+
+  Revision 1.41  2003/06/12 19:11:34  jonas
     - removed ALL_INTREGISTERS (only the one in rgobj is valid)
     - removed ALL_INTREGISTERS (only the one in rgobj is valid)
 
 
   Revision 1.40  2003/06/04 21:00:54  mazen
   Revision 1.40  2003/06/04 21:00:54  mazen