Rewrote 8-bit multiplication by constant, implements #1898231
[fw/sdcc] / src / z80 / peeph-gbz80.def
index 00c8644cb17cd7b67be2e108e46097de665de8f0..9341d6b77f0aa28a5ac8152cbca47e1b46c6ce2c 100644 (file)
@@ -1,12 +1,73 @@
-replace restart {
+replace {
+       ld      (hl),a
+       dec     hl
+} by {
+       ld      (hl-),a
+}
+replace {
        ld      (hl),a
        inc     hl
 } by {
        ld      (hl+),a
 }
-replace restart {
+replace {
        ld      a,(hl)
        inc     hl
 } by {
        ld      a,(hl+)
 }
+replace {
+       ld      a,[hl]
+       inc     hl
+} by {
+       ld      a,[hl+]
+}
+replace {
+       ld      a,[hl]
+       inc     hl
+} by {
+       ld      a,[hl+]
+}
+replace {
+       ld      [hl],a
+       inc     hl
+} by {
+       ld      [hl+],a
+}
+replace {
+       ld      [hl],a
+       dec     hl
+} by {
+       ld      [hl-],a
+}
+replace {
+       ld      (hl+),a
+       ld      (hl),d
+       dec     hl
+       ld      e,(hl)
+       inc     hl
+       ld      d,(hl)
+       ld      a,(de)
+} by {
+       ld      (hl+),a
+       ld      (hl),d
+       ld      e,a
+       ld      a,(de)
+}
+replace {
+       ld      (hl),a
+       ld      %1,(hl)
+} by {
+       ld      (hl),a
+       ld      %1,a
+}
+replace {
+       ld      (hl),a
+       inc     de
+       ld      a,(de)
+       inc     hl
+} by {
+       ld      (hl+),a
+       inc     de
+       ld      a,(de)
+}