2
0
Эх сурвалжийг харах

* optimize the i8086 backwards move by using movsw instead of movsb in the Move
and MoveData procedures

git-svn-id: trunk@41316 -

nickysn 6 жил өмнө
parent
commit
5db8d6bd5e

+ 16 - 2
rtl/i8086/i8086.inc

@@ -137,7 +137,14 @@ asm
   add di, cx
   add di, cx
   dec si
   dec si
   dec di
   dec di
-  rep movsb  // todo: movsw
+  dec si
+  dec di
+  shr cx, 1
+  rep movsw
+  adc cx, cx
+  inc si
+  inc di
+  rep movsb
   cld
   cld
 
 
 @@AfterMove:
 @@AfterMove:
@@ -183,7 +190,14 @@ asm
   add di, cx
   add di, cx
   dec si
   dec si
   dec di
   dec di
-  rep movsb  // todo: movsw
+  dec si
+  dec di
+  shr cx, 1
+  rep movsw
+  adc cx, cx
+  inc si
+  inc di
+  rep movsb
   cld
   cld
 
 
 @@AfterMove:
 @@AfterMove: