Use 'ao-dbg' instead of 's51' to communicate with TeleMetrum
[fw/sdcc] / src / pic16 / peeph.def
index 2eb4dcbfb782e87d1960da7979c4e3a07ebae1b9..dffb192d06220ae967e400ac03e3cd0b5cdcf433 100644 (file)
@@ -285,48 +285,24 @@ replace restart {
         movf    %1,w
 }
 
-
-// From: Vangelis Rokas (vrokas@otenet.gr)
-
-//replace {
-//     movf    %1,w
-//     movwf   %2
-//} by {
-//     ;       peep 12 - Use movff to move source to dest
-//     movff   %1, %2
-//}
-
-//replace restart {
-//     banksel %1
-//     banksel %2
-//} by {
-//     ;       peep 13 - remove redudant banksel directive
-//     banksel %2
-//}
-
-//replace restart {
-//     movff   %1,%2
-//     movf    %1,w
-//} by {
-//     ;       peep 14a - movff/movf is 6 bytes long, movfw/movwf is 4
-//     movf    %1,w
-//     movwf   %2
-//}
-
-//replace restart {
-//     movff   %1,%2
-//     movff   %1,%3
-//} by {
-//     ;       peep 14b - movff/movff is 8 bytes long movf/mowf/movwf is 6
-//     movf    %1,w
-//     movwf   %2
-//     movwf   %3
-//}
-
-replace {
-       movff   %1,%2
+replace restart {
+        movf    %1,w
+        movf    %2,w
 } by {
-       ;       peep xxx - test peep to see if peep rules can handle movff
+        ;     peep 12 - Removed redundant move
+        movf    %2,w
+}
+
+replace restart {
        movf    %1,w
-       movwf   %2
+       xorlw   %2
+       bz      %3
+       bra     %4
+%3:    %5
+} by {
+       ;       peep 101 - test for equality
+       movlw   %2
+       cpfseq  %1
+       bra     %4
+%3:    %5
 }