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
mov dptr,#0x0000
}
+replace {
+ mov dpl,#%1
+ mov dph,#(%1 >> 8)
+ mov dpx,#(%1 >> 16)
+} by {
+ ; Peephole 182b used 24 bit load of DPTR
+ mov dptr,#%1
+}
+
// saves 2 bytes, ?? cycles.
replace {
mov dpl,#%1
mov dptr, %1
dec dps
}
+
+replace {
+ xch a, ap
+ add a, ap
+} by {
+ add a, ap
+}
+
+replace {
+ xch a, ap
+ addc a, ap
+} 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
+}
+
+