* src/pic/ralloc.c (debugLogRegType): Removed some old types to get it to compile.
[fw/sdcc] / src / z80 / peeph.def
index 9fd073d688f13fdb31038f39d1442acba74e4943..a743e5576ecd8a6bc90134d40554583f673c272b 100644 (file)
@@ -1,5 +1,116 @@
+replace restart {
+       ld (hl),(hl)
+} by {
+       ERROR - peephole - caught (hl),(hl)
+}
 replace restart {
        ld %1,%1
 } by {
-       ; Removed redundent load
+       ; Rule 1: Removed redundent load
+}
+replace restart {
+       xor a,a
+       or a,%1
+       or a,a
+       jp %2,%3
+} by {
+       xor     a,a
+       or      a,%1
+       jp      %2,%3
+}
+replace restart {
+       cp a,#0x00
+       jp nz,%1
+} by {
+        ; Rule 3: Changed cp #0 to or
+       or      a,a
+       jp      nz,%1
+}
+replace restart {
+       jp nz,%1
+       jp      %2
+%1:
+       jp      %3
+%2:
+} by {
+       ; Rule 4: Changed jp order
+       jp      z,%2
+%1:
+       jp      %3
+%2:
+}
+replace restart {
+       jp      nz,%1
+       jp      %2
+%1:
+} by {
+       ; Rule 5: Changed jump logic
+       jp      z,%2
+%1:
+}
+replace restart {
+       jp      z,%1
+       jp      %2
+%1:
+} by {
+       ; Rule 6: Changed jump logic
+       jp      nz,%2
+%1:
+}
+replace restart {
+       or      a,%1
+       or      a,a
+} by {
+       ; Rule 7: Removed redundent or
+       or      a,%1
+}
+replace restart {
+       or      a,%1)
+        or      a,a
+} by {
+       ; Rule 8: Removed redundent or for (ix)
+       or      a,%1)
+}
+replace restart {
+       xor     a,a
+       or      a,%1
+       jp      nz,%2
+       xor     a,a
+       or      a,%3
+       jp      z,%2
+} by {
+       xor     a,a
+       or      a,%1
+       jp      nz,%2
+       or      a,%3
+       jp      z,%2
+}
+replace restart {
+       jp      nz,%1
+       inc     %3)
+%1:
+       jp      %2
+} by {
+       jp      nz,%2
+       inc     %3)
+%1:
+       jp      %2
+}
+replace restart {
+       xor     a,a
+       ld      a,#0x00
+} by {
+        xor     a,a
+}
+replace restart {
+        ld      e,#0x00
+        ld      d,#0x00
+} by {
+        ld      de,#0x0000
+}
+replace restart {
+       ld      %1,a
+       ld      a,%1
+} by {
+        ld     %1,a
 }