PIC PORT - &, |, ^
[fw/sdcc] / src / pic / peeph.def
1 //        ; Peephole 2     removed pop %1 push %1 (not push pop)
2 //        mov  %2,%3 
3 //}
4
5 // peep 1
6 replace restart {
7         skpz
8         goto   %1
9         incf   %2,f
10 %1:
11 } by {
12         ;peep 1
13         skpnz
14         incf   %2,f
15 %1:
16 }
17
18 // like peep1
19 replace restart {
20         skpz
21         goto   %1
22 %2:
23         incf   %3,f
24 %1:
25 } by {
26         ;peep 2
27         skpnz
28 %2:
29         incf   %3,f
30 %1:
31 }
32
33 replace restart {
34         skpnz
35         goto   %1
36         incf   %2,f
37 %1:
38 } by {
39         ;peep 3
40         skpz
41         incf   %2,f
42 %1:
43 }
44
45 replace restart {
46         skpnz
47         goto   %1
48 %2:
49         incf   %3,f
50 %1:
51 } by {
52         ;peep 4
53         skpz
54 %2:
55         incf   %3,f
56 %1:
57 }
58
59 // peep 5
60 replace restart {
61         skpc
62         goto   %1
63         incf   %2,f
64 %1:
65 } by {
66         ;peep 5
67         skpnc
68         incf   %2,f
69 %1:
70 }
71
72 // like peep5
73 replace restart {
74         skpc
75         goto   %1
76 %2:
77         incf   %3,f
78 %1:
79 } by {
80         ;peep 5a
81         skpnc
82 %2:
83         incf   %3,f
84 %1:
85 }
86
87 // peep 6
88 replace restart {
89         skpnc
90         goto   %1
91         incf   %2,f
92 %1:
93 } by {
94         ;peep 6
95         skpc
96         incf   %2,f
97 %1:
98 }
99