Kaynağa Gözat

* optimized register usage for non-x86 e.g. 3 operand cpus

florian 20 yıl önce
ebeveyn
işleme
3eb9e80603
1 değiştirilmiş dosya ile 7 ekleme ve 2 silme
  1. 7 2
      compiler/ncgadd.pas

+ 7 - 2
compiler/ncgadd.pas

@@ -147,6 +147,7 @@ interface
     procedure tcgaddnode.set_result_location_reg;
       begin
         location_reset(location,LOC_REGISTER,def_cgsize(resulttype.def));
+{$ifdef x86}
         if left.location.loc=LOC_REGISTER then
           begin
             if TCGSize2Size[left.location.size]<>TCGSize2Size[location.size] then
@@ -177,6 +178,7 @@ interface
               location.register := right.location.register;
           end
         else
+{$endif}
           begin
 {$ifndef cpu64bit}
             if location.size in [OS_64,OS_S64] then
@@ -186,7 +188,7 @@ interface
               end
             else
 {$endif}
-              location.register := cg.getintregister(exprasmlist,location.size);
+            location.register := cg.getintregister(exprasmlist,location.size);
           end;
       end;
 
@@ -774,7 +776,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.37  2005-01-01 14:32:53  florian
+  Revision 1.38  2005-01-20 21:28:52  florian
+    * optimized register usage for non-x86 e.g. 3 operand cpus
+
+  Revision 1.37  2005/01/01 14:32:53  florian
     * maybe_constant means also that a loc can be CREGISTER
 
   Revision 1.36  2004/11/01 17:41:28  florian