Browse Source

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

git-svn-id: trunk@27598 -
sergei 11 years ago
parent
commit
a8eb55fa7c
3 changed files with 10 additions and 21 deletions
  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_name(list : TAsmList;const s : string); override;
         procedure a_jmp_always(list : TAsmList;l: tasmlabel); 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_entry(list : TAsmList;localsize : longint;nostackframe:boolean);override;
         procedure g_proc_exit(list : TAsmList;parasize : 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);
          a_jmp(list,A_B,C_None,0,l);
        end;
        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);
      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_name(list: TAsmList; const s: string); override;
     procedure a_jmp_always(list: TAsmList; l: tasmlabel); 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
     { need to override this for ppc64 to avoid calling CG methods which allocate
       registers during creation of the interface wrappers to subtract ioffset from
       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);
   a_jmp(list, A_B, C_None, 0, l);
 end;
 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 ************ }
 { *********** entry/exit code and address loading ************ }
 
 
 procedure tcgppc.g_save_registers(list: TAsmList);
 procedure tcgppc.g_save_registers(list: TAsmList);

+ 10 - 0
compiler/ppcgen/cgppc.pas

@@ -56,6 +56,7 @@ unit cgppc;
         { entry code }
         { entry code }
         procedure g_profilecode(list: TAsmList); override;
         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 a_jmp_cond(list : TAsmList;cond : TOpCmp;l: tasmlabel);
 
 
         procedure g_intf_wrapper(list: TAsmList; procdef: tprocdef; const labelname: string; ioffset: longint);override;
         procedure g_intf_wrapper(list: TAsmList; procdef: tprocdef; const labelname: string; ioffset: longint);override;
@@ -673,6 +674,15 @@ unit cgppc;
     end;
     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);
   procedure tcgppcgen.a_jmp_cond(list : TAsmList;cond : TOpCmp; l: tasmlabel);
     begin
     begin
       a_jmp(list,A_BC,TOpCmp2AsmCond[cond],0,l);
       a_jmp(list,A_BC,TOpCmp2AsmCond[cond],0,l);