minor addition improvement
[fw/sdcc] / src / z80 / peeph-z80.def
index ba83efff4dbc3e3fc7ac1c14559d66fa027cc948..6c258c09e468168acb30678f188cdd59c628ab02 100644 (file)
@@ -799,6 +799,36 @@ replace restart {
        //add   %3, %4
 }
 
+replace restart {
+       ld      l,%1 (ix)
+       ld      h,%2 (ix)
+       ld      a,(hl)
+       inc     a
+       ld      l,%1 (ix)
+       ld      h,%2 (ix)
+       ld      (hl),a
+} by {
+       ld      l,%1 (ix)
+       ld      h,%2 (ix)
+       inc     (hl)
+       ; peephole 42c incremented in (hl) instead of going through a.
+} if notUsed('a')
+
+replace restart {
+       ld      l,%1 (ix)
+       ld      h,%2 (ix)
+       ld      a,(hl)
+       dec     a
+       ld      l,%1 (ix)
+       ld      h,%2 (ix)
+       ld      (hl),a
+} by {
+       ld      l,%1 (ix)
+       ld      h,%2 (ix)
+       dec     (hl)
+       ; peephole 42d decremented in (hl) instead of going through a.
+} if notUsed('a')
+
 replace restart {
        ld      %1,a
        ld      a,%2