Browse Source

+ a_jmp_cond()

Jonas Maebe 26 years ago
parent
commit
b3276fa59e
2 changed files with 22 additions and 2 deletions
  1. 12 1
      compiler/new/cgobj.pas
  2. 10 1
      compiler/new/powerpc/cgcpu.pas

+ 12 - 1
compiler/new/cgobj.pas

@@ -138,6 +138,8 @@ unit cgobj;
           procedure a_cmp_ref_const_label(list : paasmoutput;size : tcgsize;cmp_op : topcmp;a : aword;reg : tregister;
           procedure a_cmp_ref_const_label(list : paasmoutput;size : tcgsize;cmp_op : topcmp;a : aword;reg : tregister;
             l : pasmlabel);
             l : pasmlabel);
 
 
+          procedure a_jmp_cond(list : paasmoutput;cond : TOpCmp;l: pasmlabel);
+
           procedure a_loadaddress_ref_reg(list : paasmoutput;const ref : treference;r : tregister);virtual;
           procedure a_loadaddress_ref_reg(list : paasmoutput;const ref : treference;r : tregister);virtual;
           procedure g_stackframe_entry(list : paasmoutput;localsize : longint);virtual;
           procedure g_stackframe_entry(list : paasmoutput;localsize : longint);virtual;
           { restores the frame pointer at procedure exit, for the }
           { restores the frame pointer at procedure exit, for the }
@@ -1089,6 +1091,12 @@ unit cgobj;
          abstract;
          abstract;
       end;
       end;
 
 
+    procedure tcg.a_jmp_cond(list : paasmoutput;cond : TOpCmp;l: pasmlabel);
+    
+      begin
+        abstract;
+      end;
+
     procedure tcg.g_return_from_proc(list : paasmoutput;parasize : aword);
     procedure tcg.g_return_from_proc(list : paasmoutput;parasize : aword);
 
 
       begin
       begin
@@ -1110,7 +1118,10 @@ unit cgobj;
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.29  1999-10-21 16:41:41  florian
+  Revision 1.30  1999-11-05 07:05:56  jonas
+    + a_jmp_cond()
+
+  Revision 1.29  1999/10/21 16:41:41  florian
     * problems with readln fixed: esi wasn't restored correctly when
     * problems with readln fixed: esi wasn't restored correctly when
       reading ordinal fields of objects futher the register allocation
       reading ordinal fields of objects futher the register allocation
       didn't take care of the extra register when reading ordinal values
       didn't take care of the extra register when reading ordinal values

+ 10 - 1
compiler/new/powerpc/cgcpu.pas

@@ -356,6 +356,11 @@ const
         a_jmp(list,A_BC,TOpCmp2AsmCond[cmp_op],l);
         a_jmp(list,A_BC,TOpCmp2AsmCond[cmp_op],l);
       end;
       end;
 
 
+     procedure tcgppc.a_jmp_cond(list : paasmoutput;cond : TOpCmp;l: pasmlabel);
+     
+        begin
+          a_jmp(list,A_BC,TOpCmp2AsmCond[cmp_op],l);
+        end;
 
 
 { *********** entry/exit code and address loading ************ }
 { *********** entry/exit code and address loading ************ }
 
 
@@ -709,10 +714,14 @@ const
       create_cond_norm(c,0,p^.condition);
       create_cond_norm(c,0,p^.condition);
       list^.concat(p)
       list^.concat(p)
     end;
     end;
+
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.8  1999-10-24 09:22:18  jonas
+  Revision 1.9  1999-11-05 07:05:56  jonas
+    + a_jmp_cond()
+
+  Revision 1.8  1999/10/24 09:22:18  jonas
     + entry/exitcode for SystemV (Linux) and AIX/Mac from the Altivec
     + entry/exitcode for SystemV (Linux) and AIX/Mac from the Altivec
       PIM (no AltiVec support yet though)
       PIM (no AltiVec support yet though)
     * small fix to the a_cmp_* methods
     * small fix to the a_cmp_* methods