mov %1,@r%2
}
-replace {
- mov %1,%2
- mov %2,%1
-} by {
- ; Peephole 177 removed redundant mov
- mov %1,%2
-}
+// this one will screw assignes to volatile/sfr's
+//replace {
+// mov %1,%2
+// mov %2,%1
+//} by {
+// ; Peephole 177 removed redundant mov
+// mov %1,%2
+//}
replace {
mov a,%1
} by {
addc a, ap
}
+
+replace {
+ inc dps
+ mov dps, #0x%1
+} by {
+ mov dps, #0x%1
+}
+
+replace {
+ dec dps
+ mov dps, #0x%1
+} by {
+ mov dps, #0x%1
+}
+
+
+replace {
+ add a,#%2
+ mov dpl,a
+ clr a
+ addc a,#(%2 >> 8)
+ mov dph,a
+ clr a
+ addc a,#(%2 >> 16)
+ mov dpx,a
+ clr a
+ movc a,@a+dptr
+} by {
+ ; Peephole 227.a movc optimize
+ mov dptr,#%2
+ movc a,@a+dptr
+}