Procházet zdrojové kódy

- cga.pas redueced to an empty unit

mazen před 23 roky
rodič
revize
351c11d2a8

+ 27 - 40
compiler/sparc/aasmcpu.pas

@@ -40,18 +40,16 @@ type
  function getfillbuf:pchar;override;
   end;
   taicpu = class(taicpu_abstract)
- opsize:topsize;
- constructor op_none(op:tasmop;_size:topsize);
- constructor op_reg(op:tasmop;_size:topsize;_op1:tregister);
- constructor op_const(op:tasmop;_size:topsize;_op1:aword);
- constructor op_ref(op:tasmop;_size:topsize;const _op1:treference);
- constructor op_reg_reg(op:tasmop;_size:topsize;_op1,_op2:tregister);
- constructor op_reg_ref(op:tasmop;_size:topsize;_op1:tregister;const _op2:treference);
- constructor op_reg_const(op:tasmop; _size:topsize; _op1:tregister; _op2:aword);
- constructor op_const_reg(op:tasmop;_size:topsize;_op1:aword;_op2:tregister);
- constructor op_const_const(op:tasmop;_size:topsize;_op1,_op2:aword);
- constructor op_const_ref(op:tasmop;_size:topsize;_op1:aword;const _op2:treference);
- constructor op_ref_reg(op:tasmop;_size:topsize;const _op1:treference;_op2:tregister);
+    opsize:topsize;
+    constructor op_none(op:tasmop);
+    constructor op_reg(op:tasmop;reg:tregister);
+    constructor op_const(op:tasmop;_op1:aword);
+    constructor op_ref(op:tasmop;const _op1:treference);
+    constructor op_reg_reg(op:tasmop;_op1,_op2:tregister);
+    constructor op_reg_ref(op:tasmop;_op1:tregister;const _op2:treference);
+    constructor op_reg_const(op:tasmop;_op1:tregister;_op2:aword);
+    constructor op_const_reg(op:tasmop;_op1:aword;_op2:tregister);
+    constructor op_ref_reg(op:tasmop;const _op1:treference;_op2:tregister);
  { this is only allowed if _op1 is an int value (_op1^.isintvalue=true) }
  constructor op_ref_ref(op:tasmop;_size:topsize;const _op1,_op2:treference);
  constructor op_reg_reg_reg(op:tasmop;_size:topsize;_op1,_op2,_op3:tregister);
@@ -102,6 +100,8 @@ implementation
 uses
   cutils,
   CpuGas;
+const
+  _size=S_L;{To be removed soon}
 {****************************************************************************
                           TAI_ALIGN
  ****************************************************************************}
@@ -158,33 +158,33 @@ procedure taicpu.init(_size:topsize);
      {segprefix:=R_NONE;}{This may be only for I386 architecture!}
      opsize:=_size;
   end;
-constructor taicpu.op_none(op:tasmop;_size:topsize);
+constructor taicpu.op_none(op:tasmop);
   begin
      inherited create(op);
      init(_size);
   end;
-constructor taicpu.op_reg(op:tasmop;_size:topsize;_op1:tregister);
+constructor taicpu.op_reg(op:tasmop;reg:tregister);
   begin
      inherited create(op);
      init(_size);
      ops:=1;
-     loadreg(0,_op1);
+     loadreg(0,reg);
   end;
-constructor taicpu.op_const(op:tasmop;_size:topsize;_op1:aword);
+constructor taicpu.op_const(op:tasmop;_op1:aword);
   begin
      inherited create(op);
      init(_size);
      ops:=1;
      loadconst(0,_op1);
   end;
-constructor taicpu.op_ref(op:tasmop;_size:topsize;const _op1:treference);
+constructor taicpu.op_ref(op:tasmop;const _op1:treference);
   begin
      inherited create(op);
      init(_size);
      ops:=1;
      loadref(0,_op1);
   end;
-constructor taicpu.op_reg_reg(op:tasmop;_size:topsize;_op1,_op2:tregister);
+constructor taicpu.op_reg_reg(op:tasmop;_op1,_op2:tregister);
   begin
      inherited create(op);
      init(_size);
@@ -192,7 +192,7 @@ constructor taicpu.op_reg_reg(op:tasmop;_size:topsize;_op1,_op2:tregister);
      loadreg(0,_op1);
      loadreg(1,_op2);
   end;
-constructor taicpu.op_reg_const(op:tasmop; _size:topsize; _op1:tregister; _op2:aword);
+constructor taicpu.op_reg_const(op:tasmop;_op1:tregister; _op2:aword);
   begin
      inherited create(op);
      init(_size);
@@ -200,7 +200,7 @@ constructor taicpu.op_reg_const(op:tasmop; _size:topsize; _op1:tregister; _op2:a
      loadreg(0,_op1);
      loadconst(1,_op2);
   end;
-constructor taicpu.op_reg_ref(op:tasmop;_size:topsize;_op1:tregister;const _op2:treference);
+constructor taicpu.op_reg_ref(op:tasmop;_op1:tregister;const _op2:treference);
   begin
      inherited create(op);
      init(_size);
@@ -208,7 +208,7 @@ constructor taicpu.op_reg_ref(op:tasmop;_size:topsize;_op1:tregister;const _op2:
      loadreg(0,_op1);
      loadref(1,_op2);
   end;
-constructor taicpu.op_const_reg(op:tasmop;_size:topsize;_op1:aword;_op2:tregister);
+constructor taicpu.op_const_reg(op:tasmop;_op1:aword;_op2:tregister);
   begin
      inherited create(op);
      init(_size);
@@ -216,26 +216,10 @@ constructor taicpu.op_const_reg(op:tasmop;_size:topsize;_op1:aword;_op2:tregiste
      loadconst(0,_op1);
      loadreg(1,_op2);
   end;
-constructor taicpu.op_const_const(op:tasmop;_size:topsize;_op1,_op2:aword);
-  begin
-     inherited create(op);
-     init(_size);
-     ops:=2;
-     loadconst(0,_op1);
-     loadconst(1,_op2);
-  end;
-constructor taicpu.op_const_ref(op:tasmop;_size:topsize;_op1:aword;const _op2:treference);
-  begin
-     inherited create(op);
-     init(_size);
-     ops:=2;
-     loadconst(0,_op1);
-     loadref(1,_op2);
-  end;
-constructor taicpu.op_ref_reg(op:tasmop;_size:topsize;const _op1:treference;_op2:tregister);
+constructor taicpu.op_ref_reg(op:tasmop;const _op1:treference;_op2:tregister);
 	begin
 		inherited create(op);
-		init(_size);
+		init(S_L);
 		ops:=2;
 		loadref(0,_op1);
 		loadreg(1,_op2);
@@ -1154,7 +1138,10 @@ procedure InitAsm;
 end.
 {
     $Log$
-    Revision 1.7  2002-10-20 19:01:38  mazen
+    Revision 1.8  2002-10-22 13:43:01  mazen
+    - cga.pas redueced to an empty unit
+
+    Revision 1.7  2002/10/20 19:01:38  mazen
     + op_raddr_reg and op_caddr_reg added to fix functions prologue
 
     Revision 1.6  2002/10/19 20:35:07  mazen

+ 16 - 12
compiler/sparc/cga.pas

@@ -83,49 +83,50 @@ procedure emitjmp(c:tasmcond;var l:tasmlabel);
   end;
 procedure emit_none(i:tasmop;s:topsize);
   begin
-    exprasmList.concat(Taicpu.Op_none(i,s));
+    exprasmList.concat(Taicpu.Op_none(i));
   end;
 procedure emit_reg(i:tasmop;s:topsize;reg:tregister);
   begin
-    exprasmList.concat(Taicpu.Op_reg(i,s,reg));
+    exprasmList.concat(Taicpu.Op_reg(i,reg));
   end;
 procedure emit_ref(i:tasmop;s:topsize;const ref:treference);
   begin
-    exprasmList.concat(Taicpu.Op_ref(i,s,ref));
+    exprasmList.concat(Taicpu.Op_ref(i,ref));
   end;
 procedure emit_const(i:tasmop;s:topsize;c:longint);
   begin
-    exprasmList.concat(Taicpu.Op_const(i,s,aword(c)));
+    exprasmList.concat(Taicpu.Op_const(i,aword(c)));
   end;
 procedure emit_const_reg(i:tasmop;s:topsize;c:longint;reg:tregister);
   begin
-    exprasmList.concat(Taicpu.Op_const_reg(i,s,aword(c),reg));
+    exprasmList.concat(Taicpu.Op_const_reg(i,aword(c),reg));
   end;
 procedure emit_const_ref(i:tasmop;s:topsize;c:longint;const ref:treference);
   begin
-    exprasmList.concat(Taicpu.Op_const_ref(i,s,aword(c),ref));
+    //exprasmList.concat(Taicpu.Op_const_ref(i,s,aword(c),ref));
+		InternalError(2002102102);
   end;
 procedure emit_ref_reg(i:tasmop;s:topsize;const ref:treference;reg:tregister);
   begin
-    exprasmList.concat(Taicpu.Op_ref_reg(i,s,ref,reg));
+    exprasmList.concat(Taicpu.Op_ref_reg(i,ref,reg));
   end;
 procedure emit_reg_ref(i:tasmop;s:topsize;reg:tregister;const ref:treference);
   begin
-    exprasmList.concat(Taicpu.Op_reg_ref(i,s,reg,ref));
+    exprasmList.concat(Taicpu.Op_reg_ref(i,reg,ref));
   end;
 procedure emit_reg_reg(i:tasmop;s:topsize;reg1,reg2:tregister);
   begin
     if reg1<>reg2
     then
-      exprasmList.concat(Taicpu.Op_reg_reg(i,s,reg1,reg2));
+      exprasmList.concat(Taicpu.Op_reg_reg(i,reg1,reg2));
   end;
 procedure emit_const_reg_reg(i:tasmop;s:topsize;c:longint;reg1,reg2:tregister);
   begin
-    exprasmList.concat(Taicpu.Op_reg_const_reg(i,s,reg1,c,reg2));
+    exprasmList.concat(Taicpu.Op_reg_const_reg(i,S_L,reg1,c,reg2));
   end;
 procedure emit_reg_reg_reg(i:tasmop;s:topsize;reg1,reg2,reg3:tregister);
   begin
-    exprasmList.concat(Taicpu.Op_reg_reg_reg(i,s,reg1,reg2,reg3));
+    exprasmList.concat(Taicpu.Op_reg_reg_reg(i,S_L,reg1,reg2,reg3));
   end;
 procedure emit_sym(i:tasmop;s:topsize;op:tasmsymbol);
   begin
@@ -134,7 +135,10 @@ procedure emit_sym(i:tasmop;s:topsize;op:tasmsymbol);
 end.
 {
   $Log$
-  Revision 1.2  2002-10-13 19:47:34  mazen
+  Revision 1.3  2002-10-22 13:43:01  mazen
+  - cga.pas redueced to an empty unit
+
+  Revision 1.2  2002/10/13 19:47:34  mazen
   - logs removed
 
   Revision 1.1  2002/08/22 08:30:50  mazen

+ 73 - 55
compiler/sparc/cgcpu.pas

@@ -128,10 +128,15 @@ procedure tcgSPARC.a_param_reg(list:TAasmOutput;size:tcgsize;r:tregister;CONST L
   end;
 procedure tcgSPARC.a_param_const(list:TAasmOutput;size:tcgsize;a:aword;CONST LocPara:TParaLocation);
   BEGIN
-    IF(Size<>OS_32)AND(Size<>OS_S32)
-    THEN
-      InternalError(2002032213);
-    List.Concat(taicpu.op_const(A_LD,S_L,a));
+    with List do
+      case Size of
+        OS_32,OS_S32:
+          Concat(taicpu.op_const(A_LD,a));
+        OS_64,OS_S64:
+          Concat(taicpu.op_const(A_LDD,a));
+        else
+          InternalError(2002032213);
+      end;
   END;
 procedure tcgSPARC.a_param_ref(list:TAasmOutput;size:tcgsize;const r:TReference;const LocPara:TParaLocation);
   var
@@ -183,16 +188,16 @@ procedure tcgSPARC.a_paramaddr_ref(list:TAasmOutput;CONST r:TReference;CONST Loc
     ELSE IF(r.base=R_NO)AND(r.index<>R_NO)AND
            (r.offset=0)AND(r.scalefactor=0)AND(r.symbol=nil)
     THEN
-      list.concat(Taicpu.Op_reg(A_LD,S_L,r.index))
+      list.concat(Taicpu.Op_reg(A_LD,r.index))
     ELSE IF(r.base<>R_NO)AND(r.index=R_NO)AND
            (r.offset=0)AND(r.symbol=nil)
     THEN
-      list.concat(Taicpu.Op_reg(A_LD,S_L,r.base))
+      list.concat(Taicpu.Op_reg(A_LD,r.base))
     ELSE
       BEGIN
         tmpreg:=get_scratch_reg_address(list);
         a_loadaddr_ref_reg(list,r,tmpreg);
-        list.concat(taicpu.op_reg(A_LD,S_L,tmpreg));
+        list.concat(taicpu.op_reg(A_LD,tmpreg));
         free_scratch_reg(list,tmpreg);
       END;
   END;
@@ -200,14 +205,14 @@ procedure tcgSPARC.a_call_name(list:TAasmOutput;CONST s:string);
   BEGIN
     WITH List,objectlibrary DO
       BEGIN
-        concat(taicpu.op_sym(A_CALL,S_NO,newasmsymbol(s)));
-        concat(taicpu.op_none(A_NOP,S_NO));
+        concat(taicpu.op_sym(A_CALL,S_L,newasmsymbol(s)));
+        concat(taicpu.op_none(A_NOP));
       END;
   END;
 procedure tcgSPARC.a_call_ref(list:TAasmOutput;CONST ref:TReference);
   BEGIN
-    list.concat(taicpu.op_ref(A_CALL,S_NO,ref));
-    list.concat(taicpu.op_none(A_NOP,S_NO));
+    list.concat(taicpu.op_ref(A_CALL,ref));
+    list.concat(taicpu.op_none(A_NOP));
   END;
 {********************** load instructions ********************}
 procedure tcgSPARC.a_load_const_reg(list:TAasmOutput;size:TCGSize;a:aword;reg:TRegister);
@@ -224,16 +229,23 @@ procedure tcgSPARC.a_load_const_ref(list:TAasmOutput;size:tcgsize;a:aword;CONST
     WITH List DO
       IF a=0
       THEN
-        Concat(taicpu.op_reg_ref(A_ST,TCGSize2OpSize[size],R_G0,ref))
+        Concat(taicpu.op_reg_ref(A_ST,R_G0,ref))
       ELSE
         BEGIN
           a_load_const_reg(list,size,a,R_G1);
-          list.concat(taicpu.op_reg_ref(A_ST,TCGSize2OpSize[size],R_G1,ref));
+          case size of
+            OS_32,OS_S32:
+              Concat(taicpu.op_reg_ref(A_ST,R_G1,ref));
+            OS_64,OS_S64:
+              Concat(taicpu.op_reg_ref(A_STD,R_G1,ref));
+            else
+              InternalError(2002102100);
+          end;
         END;
   END;
 procedure tcgSPARC.a_load_reg_ref(list:TAasmOutput;size:TCGSize;reg:tregister;CONST ref:TReference);
   BEGIN
-    list.concat(taicpu.op_reg_ref(A_LD,TCGSize2OpSize[size],reg,ref));
+    list.concat(taicpu.op_reg_ref(A_LD,reg,ref));
   END;
 procedure tcgSPARC.a_load_ref_reg(list:TAasmOutput;size:tcgsize;const ref:TReference;reg:tregister);
   var
@@ -241,7 +253,7 @@ procedure tcgSPARC.a_load_ref_reg(list:TAasmOutput;size:tcgsize;const ref:TRefer
     s:topsize;
   begin
     sizes2load(size,S_L,op,s);
-    list.concat(taicpu.op_ref_reg(op,s,ref,reg));
+    list.concat(taicpu.op_ref_reg(op,ref,reg));
   end;
 procedure tcgSPARC.a_load_reg_reg(list:TAasmOutput;fromsize,tosize:tcgsize;reg1,reg2:tregister);
   var
@@ -676,7 +688,7 @@ procedure tcgSPARC.a_op_const_reg(list:TAasmOutput;Op:TOpCG;a:AWord;reg:TRegiste
                 tmpref.offset := LongInt(a);
                 if op = OP_SUB then
                   tmpref.offset := -tmpref.offset;
-                list.concat(taicpu.op_ref_reg(A_NONE,S_L,tmpref,dst));
+                list.concat(taicpu.op_ref_reg(A_NONE,tmpref,dst));
               end
           else internalerror(200112302);
         end;
@@ -710,7 +722,7 @@ procedure tcgSPARC.a_op_const_reg(list:TAasmOutput;Op:TOpCG;a:AWord;reg:TRegiste
               tmpref.base := src1;
               tmpref.index := src2;
               tmpref.scalefactor := 1;
-              list.concat(taicpu.op_ref_reg(A_NONE,S_L,tmpref,dst));
+              list.concat(taicpu.op_ref_reg(A_NONE,tmpref,dst));
             end
           else internalerror(200112303);
         end;
@@ -723,19 +735,21 @@ procedure tcgSPARC.a_op_const_reg(list:TAasmOutput;Op:TOpCG;a:AWord;reg:TRegiste
 
         begin
           if (a = 0) then
-            list.concat(taicpu.op_reg_reg(A_CMP,S_L,reg,reg))
+            list.concat(taicpu.op_reg_reg(A_CMP,reg,reg))
           else
-            list.concat(taicpu.op_const_reg(A_CMP,S_L,a,reg));
+            list.concat(taicpu.op_const_reg(A_CMP,a,reg));
           a_jmp_cond(list,cmp_op,l);
         end;
 
-      procedure tcgSPARC.a_cmp_const_ref_label(list:TAasmOutput;size:tcgsize;cmp_op:topcmp;a:aword;CONST ref:TReference;
-        l:tasmlabel);
-
-        begin
-          list.concat(taicpu.op_const_ref(A_CMP,TCgSize2OpSize[size],a,ref));
-          a_jmp_cond(list,cmp_op,l);
-        end;
+procedure tcgSPARC.a_cmp_const_ref_label(list:TAasmOutput;size:tcgsize;cmp_op:topcmp;a:aword;const ref:TReference;l:tasmlabel);
+  begin
+    with List do
+      begin
+        Concat(taicpu.op_const(A_LD,a));
+        Concat(taicpu.op_ref(A_CMP,ref));
+      end;
+    a_jmp_cond(list,cmp_op,l);
+  end;
 
       procedure tcgSPARC.a_cmp_reg_reg_label(list:TAasmOutput;size:tcgsize;cmp_op:topcmp;
         reg1,reg2:tregister;l:tasmlabel);
@@ -754,7 +768,7 @@ procedure tcgSPARC.a_op_const_reg(list:TAasmOutput;Op:TOpCG;a:AWord;reg:TRegiste
 
         begin
           opsize := S_Q{makeregsize(reg,size)};
-          list.concat(taicpu.op_ref_reg(A_CMP,opsize,ref,reg));
+          list.concat(taicpu.op_ref_reg(A_CMP,ref,reg));
           a_jmp_cond(list,cmp_op,l);
         end;
 
@@ -902,10 +916,10 @@ procedure tcgSPARC.a_loadaddr_ref_reg(list:TAasmOutput;CONST ref:TReference;r:tr
         tempref:TReference;
       begin
         get_64bit_ops(op,op1,op2);
-        list.concat(taicpu.op_ref_reg(op1,S_L,ref,reg.reglo));
+        list.concat(taicpu.op_ref_reg(op1,ref,reg.reglo));
         tempref:=ref;
         inc(tempref.offset,4);
-        list.concat(taicpu.op_ref_reg(op2,S_L,tempref,reg.reghi));
+        list.concat(taicpu.op_ref_reg(op2,tempref,reg.reghi));
       end;
 
 
@@ -914,8 +928,8 @@ procedure tcgSPARC.a_loadaddr_ref_reg(list:TAasmOutput;CONST ref:TReference;r:tr
         op1,op2:TAsmOp;
       begin
         get_64bit_ops(op,op1,op2);
-        list.concat(taicpu.op_reg_reg(op1,S_L,regsrc.reglo,regdst.reglo));
-        list.concat(taicpu.op_reg_reg(op2,S_L,regsrc.reghi,regdst.reghi));
+        list.concat(taicpu.op_reg_reg(op1,regsrc.reglo,regdst.reglo));
+        list.concat(taicpu.op_reg_reg(op2,regsrc.reghi,regdst.reghi));
       end;
 
 
@@ -934,8 +948,8 @@ procedure tcgSPARC.a_loadaddr_ref_reg(list:TAasmOutput;CONST ref:TReference;r:tr
             begin
               // can't use a_op_const_ref because this may use dec/inc
               get_64bit_ops(op,op1,op2);
-              list.concat(taicpu.op_const_reg(op1,S_L,Lo(Value),regdst.reglo));
-              list.concat(taicpu.op_const_reg(op2,S_L,Hi(Value),regdst.reghi));
+              list.concat(taicpu.op_const_reg(op1,Lo(Value),regdst.reglo));
+              list.concat(taicpu.op_const_reg(op2,Hi(Value),regdst.reghi));
             end;
           else
             internalerror(200204021);
@@ -943,28 +957,29 @@ procedure tcgSPARC.a_loadaddr_ref_reg(list:TAasmOutput;CONST ref:TReference;r:tr
       end;
 
 
-    procedure TCg64fSPARC.a_op64_const_ref(list:TAasmOutput;op:TOpCG;value:qWord;CONST ref:TReference);
-      var
-        op1,op2:TAsmOp;
-        tempref:TReference;
-      begin
-        case op of
-          OP_AND,OP_OR,OP_XOR:
-            WITH cg DO
-            begin
-              a_op_const_ref(list,op,OS_32,Lo(Value),ref);
-              tempref:=ref;
-              inc(tempref.offset,4);
-              a_op_const_ref(list,op,OS_32,Hi(Value),tempref);
-            end;
-          OP_ADD, OP_SUB:
+procedure TCg64fSPARC.a_op64_const_ref(list:TAasmOutput;op:TOpCG;value:qWord;const ref:TReference);
+  var
+    op1,op2:TAsmOp;
+    tempref:TReference;
+  begin
+    case op of
+      OP_AND,OP_OR,OP_XOR:
+      with cg do
+        begin
+          a_op_const_ref(list,op,OS_32,Lo(Value),ref);
+          tempref:=ref;
+          inc(tempref.offset,4);
+          a_op_const_ref(list,op,OS_32,Hi(Value),tempref);
+        end;
+      OP_ADD, OP_SUB:
             begin
               get_64bit_ops(op,op1,op2);
               // can't use a_op_const_ref because this may use dec/inc
-              list.concat(taicpu.op_const_ref(op1,S_L,Lo(Value),ref));
+{              list.concat(taicpu.op_const_ref(op1,Lo(Value),ref));
               tempref:=ref;
               inc(tempref.offset,4);
-              list.concat(taicpu.op_const_ref(op2,S_L,Hi(Value),tempref));
+              list.concat(taicpu.op_const_ref(op2,S_L,Hi(Value),tempref));}
+              InternalError(2002102101);
             end;
           else
             internalerror(200204022);
@@ -1068,8 +1083,8 @@ procedure TCgSparc.g_concatcopy(list:taasmoutput;const source,dest:treference;le
             objectlibrary.getlabel(lab);
             a_label(list, lab);
             list.concat(taicpu.op_reg_const_reg(A_SUB,S_L,countreg,1,countreg));
-            list.concat(taicpu.op_reg_ref(A_LDF,S_L,R_F0,src));
-            list.concat(taicpu.op_reg_ref(A_STD,S_L,R_F0,dst));
+            list.concat(taicpu.op_reg_ref(A_LDF,R_F0,src));
+            list.concat(taicpu.op_reg_ref(A_STD,R_F0,dst));
             //a_jmp(list,A_BC,C_NE,0,lab);
             free_scratch_reg(list,countreg);
             a_reg_dealloc(list,R_F0);
@@ -1221,7 +1236,7 @@ procedure tcgSPARC.floatload(list:TAasmOutput;t:tcgsize;CONST ref:TReference);
     s:topsize;
   BEGIN
     floatloadops(t,op,s);
-    list.concat(Taicpu.Op_ref(op,s,ref));
+    list.concat(Taicpu.Op_ref(op,ref));
 {    inc(trgcpu(rg).fpuvaroffset);}
   END;
 procedure tcgSPARC.floatstoreops(t:tcgsize;var op:tasmop;var s:topsize);
@@ -1253,7 +1268,7 @@ procedure tcgSPARC.floatstore(list:TAasmOutput;t:tcgsize;CONST ref:TReference);
     s:topsize;
   BEGIN
     floatstoreops(t,op,s);
-    list.concat(Taicpu.Op_ref(op,s,ref));
+    list.concat(Taicpu.Op_ref(op,ref));
 {    dec(trgcpu(rg).fpuvaroffset);}
   END;
 BEGIN
@@ -1261,7 +1276,10 @@ BEGIN
 END.
 {
   $Log$
-  Revision 1.17  2002-10-20 19:01:38  mazen
+  Revision 1.18  2002-10-22 13:43:01  mazen
+  - cga.pas redueced to an empty unit
+
+  Revision 1.17  2002/10/20 19:01:38  mazen
   + op_raddr_reg and op_caddr_reg added to fix functions prologue
 
   Revision 1.16  2002/10/13 21:46:07  mazen

+ 7 - 4
compiler/sparc/naddcpu.pas

@@ -238,11 +238,11 @@ procedure TSparcAddNode.emit_op_right_left(op:TAsmOp;OpSize:TOpsize);
     with exprasmlist do
       case right.location.loc of
         LOC_REGISTER,LOC_CREGISTER:
-          concat(taicpu.op_reg_reg(op,opsize,right.location.register,left.location.register));
+          concat(taicpu.op_reg_reg(op,right.location.register,left.location.register));
         LOC_REFERENCE,LOC_CREFERENCE :
-          concat(taicpu.op_ref_reg(op,opsize,right.location.reference,left.location.register));
+          concat(taicpu.op_ref_reg(op,right.location.reference,left.location.register));
         LOC_CONSTANT:
-          concat(taicpu.op_const_reg(op,opsize,right.location.value,left.location.register));
+          concat(taicpu.op_const_reg(op,right.location.value,left.location.register));
         else
           InternalError(200203232);
       end;
@@ -526,7 +526,10 @@ begin
 end.
 {
     $Log$
-    Revision 1.4  2002-10-10 20:23:57  mazen
+    Revision 1.5  2002-10-22 13:43:01  mazen
+    - cga.pas redueced to an empty unit
+
+    Revision 1.4  2002/10/10 20:23:57  mazen
     * tabs replaces by spaces
 
 }

+ 7 - 5
compiler/sparc/ncpucnv.pas

@@ -263,7 +263,7 @@ implementation
 
          location.register := rg.getregisterfpu(exprasmlist);
          {$WARNING FIXME what reallty should be done?}
-         exprasmlist.concat(taicpu.op_reg_ref(A_LD,S_L,location.register,ref));
+         exprasmlist.concat(taicpu.op_reg_ref(A_LD,location.register,ref));
 
          tg.ungetiftemp(exprasmlist,ref);
 
@@ -274,8 +274,7 @@ implementation
          { work around bug in some PowerPC processors }
          if (tfloatdef(resulttype.def).typ = s32real) then
          {$WARNING FIXME what reallty should be done?}
-           exprasmlist.concat(taicpu.op_reg_reg(A_ADD,S_L,location.register,
-             location.register));
+           exprasmlist.concat(taicpu.op_reg_reg(A_ADD,location.register,location.register));
        end;
 
 
@@ -287,7 +286,7 @@ implementation
           if (tfloatdef(left.resulttype.def).typ = s64real) and
              (tfloatdef(resulttype.def).typ = s32real) then
          {$WARNING FIXME what reallty should be done?}
-            exprasmlist.concat(taicpu.op_reg_reg(A_ADD,S_L,location.register,location.register));
+            exprasmlist.concat(taicpu.op_reg_reg(A_ADD,location.register,location.register));
        end;
 
 
@@ -422,7 +421,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.4  2002-10-10 19:57:52  mazen
+  Revision 1.5  2002-10-22 13:43:01  mazen
+  - cga.pas redueced to an empty unit
+
+  Revision 1.4  2002/10/10 19:57:52  mazen
   * Just to update repsitory
 
   Revision 1.3  2002/09/07 15:25:14  peter