From 233b4aeee4b2b9c58c1eca6a3db6f6a55271daf6 Mon Sep 17 00:00:00 2001 From: bal Date: Fri, 27 Jul 1984 16:53:19 +0000 Subject: [PATCH] patterns added to generate autoincrement and to generate a "move X,d0" instead of a "move X,-(sp)" before storing into X --- mach/m68k2/cg/table | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/mach/m68k2/cg/table b/mach/m68k2/cg/table index 291618abb..8bcac7136 100644 --- a/mach/m68k2/cg/table +++ b/mach/m68k2/cg/table @@ -1168,6 +1168,42 @@ dee | | remove(ALL_ACCESSIBLE) "sub.w #1,$1" setcc({ABS,$1}) | | | +#ifdef REGVARS +ldl ldl adp sdl loi $1==$2 && $2==$4 && inreg($1)==2 && $3==1 && $5==1 | | + allocate(DATAREG={IMMEDIATE,0}) + remove(regvar($1)) + "move.b (%regvar($1)%))+,%[a]" | %[a] | | +ldl ldl adp sdl loi $1==$2 && $2==$4 && inreg($1)==2 && $3==2 && $5==2 | | + allocate(DATAREG) + remove(regvar($1)) + "move.w (%regvar($1)%))+,%[a]" | %[a] | | +ldl ldl adp sdl sti $1==$2 && $2==$4 && inreg($1)==2 && $3==1 && $5==1 | ANY1 | + remove(regvar($1)) + "move.b %[1],(%(regvar($1)%))+" | | | +ldl ldl adp sdl sti $1==$2 && $2==$4 && inreg($1)==2 && $3==2 && $5==2 | ANY | + remove(regvar($1)) + "move.w %[1],(%(regvar($1)%))+" | | | +ldl ldl adp sdl $1==$2 && $2==$4 && inreg($1)==2 | | + allocate(ADDREG=regvar($1)) | %[a] + | ldl $2 adp $3 sdl $2 | +lol inl $1==$2 && inreg($1)==2 | | + allocate(DATAREG=regvar($1)) | %[a] + | inl $2 | +lol inl $1==$2 | | + allocate(DATAREG={DISPL,LB,$1}) | %[a] + | inl $2 | +lol del $1==$2 && inreg($1)==2 | | + allocate(DATAREG=regvar($1)) | %[a] + | del $2 | +lol del $1==$2 | | + allocate(DATAREG={DISPL,LB,$1}) | %[a] + | del $2 | +loe ine $1==$2 | | + allocate(DATAREG={ABS,$1}) | %[a] + | ine $2 | +loe dee $1==$2 | | + allocate(DATAREG={ABS,$1}) | %[a] + | dee $2 | zrl | | remove(DISPL,%[reg] == LB && %[dis] == $1) remove(DISPL4,%[reg] == LB && (%[dis] == $1-2 || %[dis] == $1)) -- 2.34.1