From f02bc4f6f6d3c1a692e7ece009fadbc0b3251fcf Mon Sep 17 00:00:00 2001 From: Jonas Maebe Date: Wed, 3 Apr 2002 10:41:35 +0000 Subject: [PATCH] + a_load64_const_loc method --- compiler/cg64f32.pas | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/compiler/cg64f32.pas b/compiler/cg64f32.pas index f25254f866..29506194d4 100644 --- a/compiler/cg64f32.pas +++ b/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