2001-10-21 Michael Hope <michaelh@juju.net.nz>
[fw/sdcc] / src / z80 / peeph.def
1 replace {
2         ld (hl),(hl)
3 } by {
4         ERROR - peephole - caught (hl),(hl)
5 }
6 replace {
7         ld %1,%1
8 } by {
9         ; Removed redundent load
10 }
11 replace restart {
12         xor a,a
13         or a,%1
14         or a,a
15         jp %2,%3
16 } by {
17         xor     a,a
18         or      a,%1
19         jp      %2,%3
20 }
21 replace restart {
22         cp a,#0x00
23         jp nz,%1
24 } by {
25         or      a,a
26         jp      nz,%1
27 }
28 replace restart {
29         jp nz,%1
30         jp      %2
31 %1:
32         jp      %3
33 %2:
34 } by {
35         jp      z,%2
36 %1:
37         jp      %3
38 %2:
39 }
40 replace restart {
41         jp      nz,%1
42         jp      %2
43 %1:
44 } by {
45         jp      z,%2
46 %1:
47 }
48 replace restart {
49         jp      z,%1
50         jp      %2
51 %1:
52 } by {
53         jp      nz,%2
54 %1:
55 }
56 replace restart {
57         or      a,%1
58         or      a,a
59 } by {
60         or      a,%1
61 }
62 replace restart {
63         or      a,%1)
64         or      a,a
65 } by {
66         or      a,%1)
67 }
68 replace restart {
69         xor     a,a
70         or      a,%1
71         jp      nz,%2
72         xor     a,a
73         or      a,%3
74         jp      z,%2
75 } by {
76         xor     a,a
77         or      a,%1
78         jp      nz,%2
79         or      a,%3
80         jp      z,%2
81 }
82 replace restart {
83         jp      nz,%1
84         inc     %3)
85 %1:
86         jp      %2
87 } by {
88         jp      nz,%2
89         inc     %3)
90 %1:
91         jp      %2
92 }
93 replace restart {
94         xor     a,a
95         ld      a,#0x00
96 } by {
97         xor     a,a
98 }
99 replace restart {
100         ld      e,#0x00
101         ld      d,#0x00
102 } by {
103         ld      de,#0x0000
104 }
105 replace restart {
106         ld      %1,a
107         ld      a,%1
108 } by {
109         ld      %1,a
110 }