فهرست منبع

* fixed internalerrors due to no (dummy) MM reg allocator

git-svn-id: trunk@4336 -
Jonas Maebe 19 سال پیش
والد
کامیت
805570c3cf
2فایلهای تغییر یافته به همراه4 افزوده شده و 1 حذف شده
  1. 3 0
      compiler/sparc/cgcpu.pas
  2. 1 1
      compiler/sparc/cpubase.pas

+ 3 - 0
compiler/sparc/cgcpu.pas

@@ -285,6 +285,9 @@ implementation
              RS_F16,RS_F17,RS_F18,RS_F19,RS_F20,RS_F21,RS_F22,RS_F23,
              RS_F16,RS_F17,RS_F18,RS_F19,RS_F20,RS_F21,RS_F22,RS_F23,
              RS_F24,RS_F25,RS_F26,RS_F27,RS_F28,RS_F29,RS_F30,RS_F31],
              RS_F24,RS_F25,RS_F26,RS_F27,RS_F28,RS_F29,RS_F30,RS_F31],
             first_fpu_imreg,[]);
             first_fpu_imreg,[]);
+        { needs at least one element for rgobj not to crash }
+        rg[R_MMREGISTER]:=trgcpu.create(R_MMREGISTER,R_SUBNONE,
+            [RS_L0],first_mm_imreg,[]);
       end;
       end;
 
 
 
 

+ 1 - 1
compiler/sparc/cpubase.pas

@@ -73,7 +73,7 @@ uses
 
 
       { MM Super register first and last }
       { MM Super register first and last }
       first_mm_supreg    = 0;
       first_mm_supreg    = 0;
-      first_mm_imreg     = 0;
+      first_mm_imreg     = 1;
 
 
 {$warning TODO Calculate bsstart}
 {$warning TODO Calculate bsstart}
       regnumber_count_bsstart = 128;
       regnumber_count_bsstart = 128;