Browse Source

* some alignment issues resolved
* compiler doesn't generate anymore instructions not supported by the linux fpe

florian 21 years ago
parent
commit
74501ae73f
3 changed files with 30 additions and 6 deletions
  1. 9 2
      compiler/aasmtai.pas
  2. 13 3
      compiler/arm/narminl.pas
  3. 8 1
      compiler/fpcdefs.inc

+ 9 - 2
compiler/aasmtai.pas

@@ -170,6 +170,9 @@ interface
       { please keep the size of this record <=12 bytes and keep it properly aligned }
       toper = record
         ot : longint;
+{$ifdef cpuarm}
+        dummy1,dummy2,dummy3 : byte;
+{$endif cpuarm}
         case typ : toptype of
           top_none   : ();
           top_reg    : (reg:tregister);
@@ -1840,7 +1843,7 @@ implementation
                   p.oper[i]^.shifterop^:=oper[i]^.shifterop^;
                 end;
 {$endif ARM}
-            end;    
+            end;
           end;
         getcopy:=p;
       end;
@@ -2006,7 +2009,11 @@ implementation
 end.
 {
   $Log$
-  Revision 1.80  2004-03-15 16:09:03  peter
+  Revision 1.81  2004-03-16 22:12:10  florian
+    * some alignment issues resolved
+    * compiler doesn't generate anymore instructions not supported by the linux fpe
+
+  Revision 1.80  2004/03/15 16:09:03  peter
     * fix lineinfo broken by valgrind patch
 
   Revision 1.79  2004/03/15 08:44:51  michael

+ 13 - 3
compiler/arm/narminl.pas

@@ -35,14 +35,18 @@ interface
         function first_sqr_real: tnode; override;
         function first_sqrt_real: tnode; override;
         function first_arctan_real: tnode; override;
+        { lgn isn't supported by the linux fpe
         function first_ln_real: tnode; override;
+        }
         function first_cos_real: tnode; override;
         function first_sin_real: tnode; override;
         procedure second_abs_real; override;
         procedure second_sqr_real; override;
         procedure second_sqrt_real; override;
         procedure second_arctan_real; override;
+        { lgn isn't supported by the linux fpe
         procedure second_ln_real; override;
+        }
         procedure second_cos_real; override;
         procedure second_sin_real; override;
       private
@@ -115,6 +119,7 @@ implementation
       end;
 
 
+    { lgn isn't supported by the linux fpe
     function tarminlinenode.first_ln_real: tnode;
       begin
         expectloc:=LOC_FPUREGISTER;
@@ -122,7 +127,7 @@ implementation
         registersfpu:=max(left.registersfpu,1);
         result:=nil;
       end;
-
+    }
 
     function tarminlinenode.first_cos_real: tnode;
       begin
@@ -170,12 +175,13 @@ implementation
       end;
 
 
+    { lgn isn't supported by the linux fpe
     procedure tarminlinenode.second_ln_real;
       begin
         load_fpu_location;
         exprasmlist.concat(setoppostfix(taicpu.op_reg_reg(A_LGN,location.register,location.register),get_fpu_postfix(resulttype.def)));
       end;
-
+    }
 
     procedure tarminlinenode.second_cos_real;
       begin
@@ -196,7 +202,11 @@ begin
 end.
 {
   $Log$
-  Revision 1.5  2004-02-03 22:32:54  peter
+  Revision 1.6  2004-03-16 22:12:10  florian
+    * some alignment issues resolved
+    * compiler doesn't generate anymore instructions not supported by the linux fpe
+
+  Revision 1.5  2004/02/03 22:32:54  peter
     * renamed xNNbittype to xNNinttype
     * renamed registers32 to registersint
     * replace some s32bit,u32bit with torddef([su]inttype).def.typ

+ 8 - 1
compiler/fpcdefs.inc

@@ -32,6 +32,9 @@
       {$define USEEXCEPT}
     {$endif}
   {$endif}
+{$ifdef cpuarm}
+{$packrecords c}
+{$endif cpuarm}
 {$endif}
 
 {$ifdef DELPHI}
@@ -95,7 +98,11 @@
 
 {
   $Log$
-  Revision 1.34  2004-03-10 11:55:22  mazen
+  Revision 1.35  2004-03-16 22:12:10  florian
+    * some alignment issues resolved
+    * compiler doesn't generate anymore instructions not supported by the linux fpe
+
+  Revision 1.34  2004/03/10 11:55:22  mazen
   * $M directive renamed to $MEMORY : Long directive name
 
   Revision 1.33  2004/02/17 15:57:49  peter