* Now can use acc for short lived varibles.
[fw/sdcc] / src / z80 / peeph.def
1 replace restart {
2         ld %1,%1
3 } by {
4         ; Removed redundent load
5 }
6 replace restart {
7         xor a,a
8         or a,%1
9         or a,a
10         jp %2,%3
11 } by {
12         ; Removed redundent or a,a
13         xor     a,a
14         or      a,%1
15         jp      %2,%3
16 }
17 replace restart {
18         cp a,#0x00
19         jp nz,%1
20 } by {
21         ; Rule 3
22         or      a,a
23         jp      nz,%1
24 }
25 replace restart {
26         jp nz,%1
27         jp      %2
28 %1:
29         jp      %3
30 %2:
31 } by {
32         ; Rule 4
33         jp      z,%2
34 %1:
35         jp      %3
36 %2:
37 }
38 replace restart {
39         jp      nz,%1
40         jp      %2
41 %1:
42 } by {
43         ; Rule 5
44         jp      z,%2
45 %1:
46 }
47 replace restart {
48         jp      z,%1
49         jp      %2
50 %1:
51 } by {
52         ; Rule 6
53         jp      nz,%2
54 %1:
55 }
56 replace restart {
57 %1:
58         jp      %2
59         jp      %3
60 } by {
61         ; Weird Rule 7
62 %1:
63         jp      %2
64 }