Sfoglia il codice sorgente

* powerpc/powerpc64: merged identical a_jmp_flags methods into base code generator class.

git-svn-id: trunk@27598 -
sergei 11 anni fa
parent
commit
a8eb55fa7c
3 ha cambiato i file con 10 aggiunte e 21 eliminazioni
  1. 0 9
      compiler/powerpc/cgcpu.pas
  2. 0 12
      compiler/powerpc64/cgcpu.pas
  3. 10 0
      compiler/ppcgen/cgppc.pas

+ 0 - 9
compiler/powerpc/cgcpu.pas

@@ -60,7 +60,6 @@ unit cgcpu;
 
         procedure a_jmp_name(list : TAsmList;const s : string); override;
         procedure a_jmp_always(list : TAsmList;l: tasmlabel); override;
-        procedure a_jmp_flags(list : TAsmList;const f : TResFlags;l: tasmlabel); override;
 
         procedure g_proc_entry(list : TAsmList;localsize : longint;nostackframe:boolean);override;
         procedure g_proc_exit(list : TAsmList;parasize : longint;nostackframe:boolean); override;
@@ -678,14 +677,6 @@ const
          a_jmp(list,A_B,C_None,0,l);
        end;
 
-     procedure tcgppc.a_jmp_flags(list : TAsmList;const f : TResFlags;l: tasmlabel);
-
-       var
-         c: tasmcond;
-       begin
-         c := flags_to_cond(f);
-         a_jmp(list,A_BC,c.cond,c.cr-RS_CR0,l);
-       end;
 
 (*
      procedure tcgppc.g_cond2reg(list: TAsmList; const f: TAsmCond; reg: TRegister);

+ 0 - 12
compiler/powerpc64/cgcpu.pas

@@ -68,8 +68,6 @@ type
 
     procedure a_jmp_name(list: TAsmList; const s: string); override;
     procedure a_jmp_always(list: TAsmList; l: tasmlabel); override;
-    procedure a_jmp_flags(list: TAsmList; const f: TResFlags; l: tasmlabel);
-      override;
 
     { need to override this for ppc64 to avoid calling CG methods which allocate
       registers during creation of the interface wrappers to subtract ioffset from
@@ -1075,16 +1073,6 @@ begin
   a_jmp(list, A_B, C_None, 0, l);
 end;
 
-procedure tcgppc.a_jmp_flags(list: TAsmList; const f: TResFlags; l:
-  tasmlabel);
-
-var
-  c: tasmcond;
-begin
-  c := flags_to_cond(f);
-  a_jmp(list, A_BC, c.cond, c.cr - RS_CR0, l);
-end;
-
 { *********** entry/exit code and address loading ************ }
 
 procedure tcgppc.g_save_registers(list: TAsmList);

+ 10 - 0
compiler/ppcgen/cgppc.pas

@@ -56,6 +56,7 @@ unit cgppc;
         { entry code }
         procedure g_profilecode(list: TAsmList); override;
 
+        procedure a_jmp_flags(list: TAsmList; const f: TResFlags; l: tasmlabel); override;
         procedure a_jmp_cond(list : TAsmList;cond : TOpCmp;l: tasmlabel);
 
         procedure g_intf_wrapper(list: TAsmList; procdef: tprocdef; const labelname: string; ioffset: longint);override;
@@ -673,6 +674,15 @@ unit cgppc;
     end;
 
 
+  procedure tcgppcgen.a_jmp_flags(list: TAsmList; const f: TResFlags; l: tasmlabel);
+    var
+      c: tasmcond;
+    begin
+      c := flags_to_cond(f);
+      a_jmp(list,A_BC,c.cond,c.cr-RS_CR0,l);
+    end;
+
+
   procedure tcgppcgen.a_jmp_cond(list : TAsmList;cond : TOpCmp; l: tasmlabel);
     begin
       a_jmp(list,A_BC,TOpCmp2AsmCond[cond],0,l);