projects
/
fw
/
sdcc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Only build each library if configure listed it in ports.build. The
[fw/sdcc]
/
src
/
mcs51
/
peeph.def
diff --git
a/src/mcs51/peeph.def
b/src/mcs51/peeph.def
index b089c32a901a31fa4cf78a21f8f94b44c3fb2170..64bf597ee2009c93302aa1bfc3367c7961fa7b4d 100644
(file)
--- a/
src/mcs51/peeph.def
+++ b/
src/mcs51/peeph.def
@@
-70,7
+70,6
@@
replace {
mov dptr,#%2
movx @dptr,a
}
mov dptr,#%2
movx @dptr,a
}
-
replace {
mov a,acc
} by {
replace {
mov a,acc
} by {
@@
-539,20
+538,6
@@
replace {
orl a,r%2
}
orl a,r%2
}
-replace {
- mov %1,a
- mov dpl,%2
- mov dph,%3
- mov dpx,%4
- mov a,%1
-} by {
- ; Peephole 136a removed redundant moves
- mov %1,a
- mov dpl,%2
- mov dph,%3
- mov dpx,%4
-} if 24bitMode
-
replace {
mov %1,a
mov dpl,%2
replace {
mov %1,a
mov dpl,%2
@@
-1004,13
+989,14
@@
replace {
mov %1,@r%2
}
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
replace {
mov a,%1
@@
-1041,15
+1027,6
@@
replace {
clr a
}
clr a
}
-replace {
- mov dpl,#0x00
- mov dph,#0x00
- mov dpx,#0x00
-} by {
- ; Peephole 181a used 24 bit load of dptr
- mov dptr,#0x0000
-} if 24bitMode
-
// saving 3 byte, 2 cycles, return(NULL) profits here
replace {
mov dpl,#0x00
// saving 3 byte, 2 cycles, return(NULL) profits here
replace {
mov dpl,#0x00
@@
-1059,15
+1036,15
@@
replace {
mov dptr,#0x0000
}
mov dptr,#0x0000
}
-// saves 2 bytes, ?? cycles.
+// saving 3 bytes, 2 cycles
+// provided by Bernhard Held <bernhard.held@de.westinghouse.com>
replace {
replace {
- mov dpl,#%1
- mov dph,#(%1 >> 8)
- mov dpx,#(%1 >> 16)
+ mov dpl,#%1
+ mov dph,#(%1 >> 8)
} by {
} by {
- ; Peephole 182a used 24 bit load of dptr
-
mov
dptr,#%1
-}
if 24bitMode
+ ; Peephole 182a use 16 bit load of DPTR
+
mov
dptr,#%1
+}
// saving 3 byte, 2 cycles, return(float_constant) profits here
replace {
// saving 3 byte, 2 cycles, return(float_constant) profits here
replace {
@@
-1608,13
+1585,6
@@
replace {
inc %1
}
inc %1
}
-replace {
- mov dptr,#((((%1 >> 16)) <<16) + (((%1 >> 8)) <<8) + %1)
-} by {
- ; Peephole 210a simplified expression
- mov dptr,#%1
-} if 24bitMode
-
replace {
mov dptr,#((((%1 >> 8)) <<8) + %1)
} by {
replace {
mov dptr,#((((%1 >> 8)) <<8) + %1)
} by {
@@
-1802,13
+1772,3
@@
replace {
} by {
; removed dec/inc pair
}
} by {
; removed dec/inc pair
}
-
-replace {
- mov dps, #0x00
- mov dp%1,a
- mov dps, #0x01
-} by {
- ; Peephole 222 removed DPS abuse.
- mov dp%1,a
- mov dps, #0x01
-}