Browse Source

* obsolete

peter 21 years ago
parent
commit
703e1cee60
1 changed files with 0 additions and 293 deletions
  1. 0 293
      compiler/cg64f64.pas

+ 0 - 293
compiler/cg64f64.pas

@@ -1,293 +0,0 @@
-{
-    $Id$
-    Copyright (c) 2002 by Florian Klaempfl
-    Member of the Free Pascal development team
-
-    This unit implements the code generation for 64 bit int
-    arithmethics on 64 bit processors
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
- ****************************************************************************
-}
-{# This unit implements the code generation for 64 bit int arithmethics on
-   64 bit processors.
-}
-unit cg64f64;
-
-  {$i fpcdefs.inc}
-
-  interface
-
-    uses
-       aasmbase,aasmtai,aasmcpu,
-       cpubase,
-       cgbase,cgobj,
-       symtype;
-
-{$ifndef cpu64bit}
-    type
-      {# Defines all the methods required on 32-bit processors
-         to handle 64-bit integers.
-      }
-      tcg64f64 = class(tcg64)
-        procedure a_reg_alloc(list : taasmoutput;r : tregister64);override;
-        procedure a_reg_dealloc(list : taasmoutput;r : tregister64);override;
-        procedure a_load64_const_ref(list : taasmoutput;value : int64;const ref : treference);override;
-        procedure a_load64_reg_ref(list : taasmoutput;reg : tregister64;const ref : treference);override;
-        procedure a_load64_ref_reg(list : taasmoutput;const ref : treference;reg : tregister64);override;
-        procedure a_load64_reg_reg(list : taasmoutput;regsrc,regdst : tregister64);override;
-        procedure a_load64_const_reg(list : taasmoutput;value: int64;reg : tregister64);override;
-        procedure a_load64_loc_reg(list : taasmoutput;const l : tlocation;reg : tregister64);override;
-        procedure a_load64_loc_ref(list : taasmoutput;const l : tlocation;const ref : treference);override;
-        procedure a_load64_const_loc(list : taasmoutput;value : int64;const l : tlocation);override;
-        procedure a_load64_reg_loc(list : taasmoutput;reg : tregister64;const l : tlocation);override;
-
-        procedure a_load64high_reg_ref(list : taasmoutput;reg : tregister;const ref : treference);override;
-        procedure a_load64low_reg_ref(list : taasmoutput;reg : tregister;const ref : treference);override;
-        procedure a_load64high_ref_reg(list : taasmoutput;const ref : treference;reg : tregister);override;
-        procedure a_load64low_ref_reg(list : taasmoutput;const ref : treference;reg : tregister);override;
-        procedure a_load64high_loc_reg(list : taasmoutput;const l : tlocation;reg : tregister);override;
-        procedure a_load64low_loc_reg(list : taasmoutput;const l : tlocation;reg : tregister);override;
-
-        procedure a_op64_reg_ref(list : taasmoutput;op:TOpCG;regsrc : tregister64;const ref : treference);override;
-        procedure a_op64_ref_reg(list : taasmoutput;op:TOpCG;const ref : treference;reg : tregister64);override;
-        procedure a_op64_const_loc(list : taasmoutput;op:TOpCG;value:int64;const l: tlocation);override;
-        procedure a_op64_reg_loc(list : taasmoutput;op:TOpCG;reg : tregister64;const l : tlocation);override;
-        procedure a_op64_loc_reg(list : taasmoutput;op:TOpCG;const l : tlocation;reg : tregister64);override;
-        procedure a_op64_const_reg(list : taasmoutput;op:TOpCG;value : int64;regdst : tregister64);override;
-        procedure a_op64_const_ref(list : taasmoutput;op:TOpCG;value : int64;const ref : treference);override;
-
-        procedure a_param64_reg(list : taasmoutput;reg : tregister64;const locpara : tparalocation);override;
-        procedure a_param64_const(list : taasmoutput;value : int64;const locpara : tparalocation);override;
-        procedure a_param64_ref(list : taasmoutput;const r : treference;const locpara : tparalocation);override;
-        procedure a_param64_loc(list : taasmoutput;const l : tlocation;const locpara : tparalocation);override;
-
-        function optimize64_op_const_reg(list: taasmoutput; var op: topcg; var a : int64; var reg: tregister64): boolean;override;
-
-        { override to catch 64bit rangechecks }
-        procedure g_rangecheck64(list: taasmoutput; const l:tlocation;fromdef,todef: tdef); override;
-      end;
-{$endif cpu64bit}
-
-  implementation
-
-    uses
-      verbose;
-
-{$ifndef cpu64bit}
-    procedure tcg64f64.a_load64_const_ref(list : taasmoutput;value : int64;const ref : treference);
-      begin
-         cg.a_load_const_ref(list,OS_64,value,ref);
-      end;
-
-
-    procedure tcg64f64.a_load64_reg_ref(list : taasmoutput;reg : tregister64;const ref : treference);
-      begin
-         cg.a_load_reg_ref(list,OS_64,OS_64,reg,ref);
-      end;
-
-
-    procedure tcg64f64.a_load64_ref_reg(list : taasmoutput;const ref : treference;reg : tregister64);
-      begin
-         cg.a_load_ref_reg(list,OS_64,OS_64,ref,reg);
-      end;
-
-
-    procedure tcg64f64.a_load64_reg_reg(list : taasmoutput;regsrc,regdst : tregister64);
-      begin
-         cg.a_load_reg_reg(list,OS_64,OS_64,regsrc,regdst);
-      end;
-
-
-    procedure tcg64f64.a_load64_const_reg(list : taasmoutput;value : int64;reg : tregister64);
-      begin
-         cg.a_load_const_reg(list,OS_64,value,reg);
-      end;
-
-
-    procedure tcg64f64.a_load64_loc_reg(list : taasmoutput;const l : tlocation;reg : tregister64);
-      begin
-         cg.a_load_loc_reg(list,l.size,l,reg);
-      end;
-
-
-    procedure tcg64f64.a_load64_loc_ref(list : taasmoutput;const l : tlocation;const ref : treference);
-      begin
-         cg.a_load_loc_ref(list,l.size,l,ref);
-      end;
-
-
-    procedure tcg64f64.a_load64_const_loc(list : taasmoutput;value : int64;const l : tlocation);
-      begin
-         cg.a_load_const_loc(list,value,l);
-      end;
-
-
-    procedure tcg64f64.a_load64_reg_loc(list : taasmoutput;reg : tregister64;const l : tlocation);
-      begin
-         cg.a_load_reg_loc(list,OS_64,reg,l);
-      end;
-
-
-    procedure tcg64f64.a_load64high_reg_ref(list : taasmoutput;reg : tregister;const ref : treference);
-      begin
-        internalerror(200404211);
-      end;
-
-
-    procedure tcg64f64.a_load64low_reg_ref(list : taasmoutput;reg : tregister;const ref : treference);
-      begin
-        internalerror(200404212);
-      end;
-
-
-    procedure tcg64f64.a_load64high_ref_reg(list : taasmoutput;const ref : treference;reg : tregister);
-      begin
-        internalerror(200404213);
-      end;
-
-
-    procedure tcg64f64.a_load64low_ref_reg(list : taasmoutput;const ref : treference;reg : tregister);
-      begin
-        internalerror(200404214);
-      end;
-
-
-    procedure tcg64f64.a_load64high_loc_reg(list : taasmoutput;const l : tlocation;reg : tregister);
-      begin
-        internalerror(200404215);
-      end;
-
-    procedure tcg64f64.a_load64low_loc_reg(list : taasmoutput;const l : tlocation;reg : tregister);
-      begin
-        internalerror(200404216);
-      end;
-
-
-    procedure tcg64f64.a_op64_ref_reg(list : taasmoutput;op:TOpCG;const ref : treference;reg : tregister64);
-      begin
-         cg.a_op_ref_reg(list,op,OS_64,ref,reg);
-      end;
-
-
-    procedure tcg64f64.a_op64_reg_ref(list : taasmoutput;op:TOpCG;regsrc : tregister64;const ref : treference);
-      begin
-        cg.a_op_reg_ref(list,op,OS_64,regsrc,ref);
-      end;
-
-
-    procedure tcg64f64.a_op64_const_reg(list : taasmoutput;op:TOpCG;value : int64;regdst : tregister64);
-      begin
-        cg.a_op_const_reg(list,op,OS_64,value,regdst);
-      end;
-
-
-    procedure tcg64f64.a_op64_const_ref(list : taasmoutput;op:TOpCG;value : int64;const ref : treference);
-      begin
-        cg.a_op_const_ref(list,op,OS_64,value,ref);
-      end;
-
-
-    procedure tcg64f64.a_op64_const_loc(list : taasmoutput;op:TOpCG;value : int64;const l: tlocation);
-      begin
-        cg.a_op_const_loc(list,op,value,l);
-      end;
-
-
-    procedure tcg64f64.a_op64_reg_loc(list : taasmoutput;op:TOpCG;reg : tregister64;const l : tlocation);
-      begin
-        cg.a_op_reg_loc(list,op,reg,l);
-      end;
-
-
-    procedure tcg64f64.a_op64_loc_reg(list : taasmoutput;op:TOpCG;const l : tlocation;reg : tregister64);
-      begin
-        internalerror(200404217);
-      end;
-
-
-    procedure tcg64f64.a_param64_reg(list : taasmoutput;reg : tregister64;const locpara : tparalocation);
-      begin
-        cg.a_param_reg(list,OS_64,reg,locpara);
-      end;
-
-
-    procedure tcg64f64.a_param64_const(list : taasmoutput;value : int64;const locpara : tparalocation);
-      begin
-        cg.a_param_const(list,OS_64,value,locpara);
-      end;
-
-
-    procedure tcg64f64.a_param64_ref(list : taasmoutput;const r : treference;const locpara : tparalocation);
-      begin
-        cg.a_param_ref(list,OS_64,r,locpara);
-      end;
-
-
-    procedure tcg64f64.a_param64_loc(list : taasmoutput;const l : tlocation;const locpara : tparalocation);
-      begin
-        cg.a_param_loc(list,l,locpara);
-      end;
-
-
-    procedure tcg64f64.g_rangecheck64(list: taasmoutput; const l:tlocation;fromdef,todef: tdef);
-      begin
-        cg.g_rangecheck(list,l,fromdef,todef);
-      end;
-
-
-    function tcg64f64.optimize64_op_const_reg(list: taasmoutput; var op: topcg; var a : int64; var reg: tregister64): boolean;
-      begin
-        result:=cg.optimize_op_const_reg(list,op,a,reg);
-      end;
-
-
-    procedure tcg64f64.a_reg_alloc(list : taasmoutput;r : tregister64);
-      begin
-        list.concat(tai_regalloc.alloc(r));
-      end;
-
-
-    procedure tcg64f64.a_reg_dealloc(list : taasmoutput;r : tregister64);
-      begin
-        list.concat(tai_regalloc.dealloc(r));
-      end;
-{$endif cpu64bit}
-
-
-end.
-{
-  $Log$
-  Revision 1.14  2004-10-31 21:45:02  peter
-    * generic tlocation
-    * move tlocation to cgutils
-
-  Revision 1.13  2004/06/20 08:55:28  florian
-    * logs truncated
-
-  Revision 1.12  2004/06/16 20:07:07  florian
-    * dwarf branch merged
-
-  Revision 1.11.2.2  2004/04/27 18:18:25  peter
-    * aword -> aint
-
-  Revision 1.11.2.1  2004/04/21 18:54:29  florian
-    + implemented most methods as redirections to cg
-
-  Revision 1.11  2004/01/13 18:08:58  florian
-    * x86-64 compilation fixed
-
-}