瀏覽代碼

+ PostPeepHoleOptsCpu for i8086

git-svn-id: trunk@37552 -
florian 7 年之前
父節點
當前提交
c36c4d838d
共有 1 個文件被更改,包括 21 次插入0 次删除
  1. 21 0
      compiler/i8086/aoptcpu.pas

+ 21 - 0
compiler/i8086/aoptcpu.pas

@@ -34,6 +34,7 @@ unit aoptcpu;
     Type
       TCpuAsmOptimizer = class(TX86AsmOptimizer)
         function PeepHoleOptPass1Cpu(var p : tai) : boolean; override;
+        function PostPeepHoleOptsCpu(var p : tai) : boolean; override;
         procedure PostPeepHoleOpts; override;
       End;
 
@@ -114,6 +115,26 @@ unit aoptcpu;
       end;
 
 
+    function TCpuAsmOptimizer.PostPeepHoleOptsCpu(var p: tai): boolean;
+      begin
+        result := false;
+        case p.typ of
+          ait_instruction:
+            begin
+              case taicpu(p).opcode of
+                A_MOV:
+                  Result:=PostPeepholeOptMov(p);
+                A_CMP:
+                  Result:=PostPeepholeOptCmp(p);
+                A_OR,
+                A_TEST:
+                  Result:=PostPeepholeOptTestOr(p);
+              end;
+            end;
+        end;
+      end;
+
+
     procedure TCpuAsmOptimizer.PostPeepHoleOpts;
       begin
         inherited;