From: michaelh Date: Sun, 20 Feb 2000 05:29:34 +0000 (+0000) Subject: Added peephole. X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=bfdd10d84eb49ac301efc9110ee2ee646efbf141;p=fw%2Fsdcc Added peephole. git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@114 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- diff --git a/src/z80/peeph-gbz80.def b/src/z80/peeph-gbz80.def new file mode 100644 index 00000000..8f1977d5 --- /dev/null +++ b/src/z80/peeph-gbz80.def @@ -0,0 +1,76 @@ +replace restart { + ld %1,%1 +} by { + ; Removed redundent load +} +replace restart { + xor a,a + or a,%1 + or a,a + jp %2,%3 +} by { + ; Removed redundent or a,a + xor a,a + or a,%1 + jp %2,%3 +} +replace restart { + cp a,#0x00 + jp nz,%1 +} by { + ; Rule 3 + or a,a + jp nz,%1 +} +replace restart { + jp nz,%1 + jp %2 +%1: + jp %3 +%2: +} by { + ; Rule 4 + jp z,%2 +%1: + jp %3 +%2: +} +replace restart { + jp nz,%1 + jp %2 +%1: +} by { + ; Rule 5 + jp z,%2 +%1: +} +replace restart { + jp z,%1 + jp %2 +%1: +} by { + ; Rule 6 + jp nz,%2 +%1: +} +replace restart { +%1: + jp %2 + jp %3 +} by { + ; Weird Rule 7 +%1: + jp %2 +} +replace restart { + ld (hl),a + inc hl +} by { + ld (hl+),a +} +replace restart { + ld a,(hl) + inc hl +} by { + ld a,(hl+) +}