Browse Source

+ tcg64.a_op64_const_reg_reg() and tcg64.a_op64_reg_reg_reg() methods +
generic implementation

Jonas Maebe 23 years ago
parent
commit
b11d7a19f3
1 changed files with 22 additions and 1 deletions
  1. 22 1
      compiler/cgobj.pas

+ 22 - 1
compiler/cgobj.pas

@@ -365,6 +365,8 @@ unit cgobj;
         procedure a_op64_const_loc(list : taasmoutput;op:TOpCG;value : qword;const l: tlocation);virtual;abstract;
         procedure a_op64_const_loc(list : taasmoutput;op:TOpCG;value : qword;const l: tlocation);virtual;abstract;
         procedure a_op64_reg_loc(list : taasmoutput;op:TOpCG;reg : tregister64;const l : tlocation);virtual;abstract;
         procedure a_op64_reg_loc(list : taasmoutput;op:TOpCG;reg : tregister64;const l : tlocation);virtual;abstract;
         procedure a_op64_loc_reg(list : taasmoutput;op:TOpCG;const l : tlocation;reg64 : tregister64);virtual;abstract;
         procedure a_op64_loc_reg(list : taasmoutput;op:TOpCG;const l : tlocation;reg64 : tregister64);virtual;abstract;
+        procedure a_op64_const_reg_reg(list: taasmoutput;op:TOpCG;value : qword;regsrc,regdst : tregister64);virtual;
+        procedure a_op64_reg_reg_reg(list: taasmoutput;op:TOpCG;regsrc1,regsrc2,regdst : tregister64);virtual;
 
 
         procedure a_param64_reg(list : taasmoutput;reg64 : tregister64;const loc : tparalocation);virtual;abstract;
         procedure a_param64_reg(list : taasmoutput;reg64 : tregister64;const loc : tparalocation);virtual;abstract;
         procedure a_param64_const(list : taasmoutput;value : qword;const loc : tparalocation);virtual;abstract;
         procedure a_param64_const(list : taasmoutput;value : qword;const loc : tparalocation);virtual;abstract;
@@ -1373,13 +1375,32 @@ unit cgobj;
       begin
       begin
       end;
       end;
 
 
+
+    procedure tcg64.a_op64_const_reg_reg(list: taasmoutput;op:TOpCG;value : qword;regsrc,regdst : tregister64);
+      begin
+        a_load64_reg_reg(list,regsrc,regdst);
+        a_op64_const_reg(list,op,value,regdst);
+      end;
+
+
+    procedure tcg64.a_op64_reg_reg_reg(list: taasmoutput;op:TOpCG;regsrc1,regsrc2,regdst : tregister64);
+      begin
+        a_load64_reg_reg(list,regsrc2,regdst);
+        a_op64_reg_reg(list,op,regsrc1,regdst);
+      end;
+
+
 finalization
 finalization
   cg.free;
   cg.free;
   cg64.free;
   cg64.free;
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.38  2002-07-27 19:53:51  jonas
+  Revision 1.39  2002-07-28 15:56:00  jonas
+    + tcg64.a_op64_const_reg_reg() and tcg64.a_op64_reg_reg_reg() methods +
+      generic implementation
+
+  Revision 1.38  2002/07/27 19:53:51  jonas
     + generic implementation of tcg.g_flags2ref()
     + generic implementation of tcg.g_flags2ref()
     * tcg.flags2xxx() now also needs a size parameter
     * tcg.flags2xxx() now also needs a size parameter