From: sandeep Date: Sat, 2 Mar 2002 19:19:51 +0000 (+0000) Subject: Added some more peephole rules X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=2c3bdca08b2782b65a7edce517095ca9af841c25;p=fw%2Fsdcc Added some more peephole rules git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@1982 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- diff --git a/src/ds390/peeph.def b/src/ds390/peeph.def index 812d288b..91d7579a 100644 --- a/src/ds390/peeph.def +++ b/src/ds390/peeph.def @@ -2114,7 +2114,7 @@ replace { mov r%4,a movx @dptr,a } - + replace { mov r%1,dpl mov r%2,dph @@ -2129,6 +2129,76 @@ replace { mov r%3,dpx } +replace { + mov dpl,r%1 + mov dph,r%2 + mov dpx,r%3 + movx a,@dptr + mov r%4,a + orl ar%4,#%5 + mov dpl,r%1 + mov dph,r%2 + mov dpx,r%3 + mov a,r1 + movx @dptr,a +} by { + ; Peephole 230.e save reload dptr + mov dpl,r%1 + mov dph,r%2 + mov dpx,r%3 + movx a,@dptr + orl a,#%5 + mov r%4,a + movx @dptr,a +} + +replace { + mov dpl,r%1 + mov dph,r%2 + mov dpx,r%3 + movx a,@dptr + mov r%4,a + anl ar%4,#%5 + mov dpl,r%1 + mov dph,r%2 + mov dpx,r%3 + mov a,r1 + movx @dptr,a +} by { + ; Peephole 230.e save reload dptr + mov dpl,r%1 + mov dph,r%2 + mov dpx,r%3 + movx a,@dptr + anl a,#%5 + mov r%4,a + movx @dptr,a +} + +replace { + mov r%1,dpl + mov r%2,dph + mov r%3,dpx + mov a,r%4 + inc dps + movx @dptr,a + inc dptr + mov dps,#0 + mov dpl,r%1 + mov dph,r%2 + mov dpx,r%3 +} by { + ; Peephole 230.f save reload dptr + mov r%1,dpl + mov r%2,dph + mov r%3,dpx + mov a,r%4 + inc dps + movx @dptr,a + inc dptr + mov dps,#0 +} + replace { mov ar%1,r%2 mov ar%3,r%1 @@ -2181,6 +2251,17 @@ replace { mov r%4,a } by { ; Peehole 232.b simplified xch - mov r%3,#%1 - mov r%4,#%2 -} \ No newline at end of file + mov r%3,#%2 + mov r%4,#%1 +} + +replace { + mov dpl1,#%1 + mov dph1,#(%1 >> 8) + mov dpx1,#(%1 >> 16) +} by { + ; Peephole 233 24 bit load of dptr1 + inc dps + mov dptr,#%1 + dec dps +}