Parcourir la source

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

git-svn-id: trunk@27598 -
sergei il y a 11 ans
Parent
commit
a8eb55fa7c
3 fichiers modifiés avec 10 ajouts et 21 suppressions
  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);