jc %5
} if operandsLiteral(%1)
-replace {
- clr c
- mov a,%1
- subb a,#%2
- mov %3,c
-} by {
- ; Peephole 132.d optimized genCmpGt by inverse logic
- mov a,#0x100 - %2
- add a,%1
- mov %3,c
-} if operandsNotRelated('0x00' %2), operandsLiteral(%2)
+// disabled. See bug1734654.c
+//replace {
+// clr c
+// mov a,%1
+// subb a,#%2
+// mov %3,c
+//} by {
+// ; Peephole 132.d optimized genCmpGt by inverse logic
+// mov a,#0x100 - %2
+// add a,%1
+// mov %3,c
+//} if operandsNotRelated('0x00' %2), operandsLiteral(%2)
replace {
clr c
mov %1,a
} if notVolatile %2
+// applies to f.e. testfwk.c
+replace {
+ mov r%1,a
+ mov ar%2,r%1
+} by {
+ mov r%1,a
+ ; peephole 177.i optimized mov sequence
+ mov r%2,a
+}
+
replace {
mov a,%1
mov b,a
djnz %1,%2
} if notVolatile(%1)
-// unsigned char i=8; do{ } while(--i != 0);
-// this applies if i is kept in data memory
-replace {
- dec %1
- mov a,%1
- jnz %2
-} by {
- ; Peephole 257.b optimized decrement with compare
- djnz %1,%2
-} if notVolatile(%1), operandsNotRelated(%1 '@r0' '@r1')
+//// unsigned char i=8; do{ } while(--i != 0);
+//// this applies if i is kept in data memory
+// Disabled because together with 256.c it causes bug #1721024
+//replace {
+// dec %1
+// mov a,%1
+// jnz %2
+//} by {
+// ; Peephole 257.b optimized decrement with compare
+// djnz %1,%2
+//} if notVolatile(%1), operandsNotRelated(%1 '@r0' '@r1')
// in_byte<<=1; if(in_bit) in_byte|=1;
} by {
; Peephole 263.a optimized loading const
mov %1,#(%2 + 3)
-}
+} if notVolatile(%1)
replace {
mov %1,#%2
} by {
; Peephole 263.b optimized loading const
mov %1,#(%2 + 2)
-}
+} if notVolatile(%1)
replace {
mov %1,#%2
} by {
; Peephole 263.c optimized loading const
mov %1,#(%2 + 1)
-}
+} if notVolatile(%1)
replace {
pop ar%1
} by {
; Peephole 300 pop ar%1 removed
-} if deadMove %1
+} if deadMove(%1)
replace {
mov r%1,%2