Quellcode durchsuchen

+ a_load64_const_loc method

Jonas Maebe vor 23 Jahren
Ursprung
Commit
f02bc4f6f6
1 geänderte Dateien mit 19 neuen und 1 gelöschten Zeilen
  1. 19 1
      compiler/cg64f32.pas

+ 19 - 1
compiler/cg64f32.pas

@@ -44,6 +44,7 @@ unit cg64f32;
         procedure a_load64_const_reg(list : taasmoutput;valuelosrc,valuehisrc:AWord;reglodst,reghidst : tregister);
         procedure a_load64_loc_reg(list : taasmoutput;const l : tlocation;reglo,reghi : tregister);
         procedure a_load64_loc_ref(list : taasmoutput;const l : tlocation;const ref : treference);
+        procedure a_load64_const_loc(list : taasmoutput;valuelo, valuehi : AWord;const l : tlocation);
         procedure a_load64_reg_loc(list : taasmoutput;reglo, reghi : tregister;const l : tlocation);
         procedure a_load64high_reg_ref(list : taasmoutput;reg : tregister;const ref : treference);
         procedure a_load64low_reg_ref(list : taasmoutput;reg : tregister;const ref : treference);
@@ -200,6 +201,20 @@ unit cg64f32;
       end;
 
 
+    procedure tcg64f32.a_load64_const_loc(list : taasmoutput;valuelo, valuehi : AWord;const l : tlocation);
+
+      begin
+        case l.loc of
+          LOC_REFERENCE, LOC_CREFERENCE:
+            a_load64_const_ref(list,valuelo,valuehi,l.reference);
+          LOC_REGISTER,LOC_CREGISTER:
+            a_load64_const_reg(list,valuelo,valuehi,l.registerlow,l.registerhigh);
+          else
+            internalerror(200112293);
+        end;
+      end;
+
+
     procedure tcg64f32.a_load64_reg_loc(list : taasmoutput;reglo,reghi : tregister;const l : tlocation);
 
       begin
@@ -569,7 +584,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.5  2002-04-02 17:11:27  peter
+  Revision 1.6  2002-04-03 10:41:35  jonas
+    + a_load64_const_loc method
+
+  Revision 1.5  2002/04/02 17:11:27  peter
     * tlocation,treference update
     * LOC_CONSTANT added for better constant handling
     * secondadd splitted in multiple routines