Use 'ao-dbg' instead of 's51' to communicate with TeleMetrum
[fw/sdcc] / src / pic16 / peeph.def
index 6189beb920aee74664141c919a2822137d5d5108..dffb192d06220ae967e400ac03e3cd0b5cdcf433 100644 (file)
@@ -285,50 +285,24 @@ replace restart {
         movf    %1,w
 }
 
+replace restart {
+        movf    %1,w
+        movf    %2,w
+} by {
+        ;     peep 12 - Removed redundant move
+        movf    %2,w
+}
 
-// From: Vangelis Rokas (vrokas AT otenet dot gr)
-// movff peeps are disabled for the moment
-// until support is added in the pcodepeeph.c
-
-//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
-//} by {
-//     ;       peep xxx - test peep to see if peep rules can handle movff
-//     movf    %1,w
-//     movwf   %2
-//}
+replace restart {
+       movf    %1,w
+       xorlw   %2
+       bz      %3
+       bra     %4
+%3:    %5
+} by {
+       ;       peep 101 - test for equality
+       movlw   %2
+       cpfseq  %1
+       bra     %4
+%3:    %5
+}