From eebcf1b22ca0ccda9475f69895d519047332de76 Mon Sep 17 00:00:00 2001 From: sater Date: Wed, 15 Aug 1984 14:23:42 +0000 Subject: [PATCH] added patterns to remove as many dup's as possible. --- util/opt/patterns | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/util/opt/patterns b/util/opt/patterns index dffce3a4f..c1375ce1f 100644 --- a/util/opt/patterns +++ b/util/opt/patterns @@ -98,13 +98,13 @@ ldl sdl $1==$2: lxa loi lxa sti $3==$1 && $4==$2: lxa lof lxa stf $3==$1 && $4==$2: lxa ldf lxa sdf $3==$1 && $4==$2: -lxa stf lxa lof $3==$1 && $4==$2: dup w lxa $1 stf $2 -lxa sdf lxa ldf $3==$1 && $4==$2: dup 2*w lxa $1 sdf $2 +lxa stf lxa lof $1>1 && $3==$1 && $4==$2: dup w lxa $1 stf $2 +lxa sdf lxa ldf $1>1 && $3==$1 && $4==$2: dup 2*w lxa $1 sdf $2 lxl lof lxl stf $3==$1 && $4==$2: lxl ldf lxl sdf $3==$1 && $4==$2: -lxl stf lxl lof $3==$1 && $4==$2: dup w lxl $1 stf $2 -lxl sdf lxl ldf $3==$1 && $4==$2: dup 2*w lxl $1 sdf $2 -lxa sti lxa loi $3==$1 && $4==$2 && $2%w==0: dup $2 lxa $1 sti $2 +lxl stf lxl lof $1>1 && $3==$1 && $4==$2: dup w lxl $1 stf $2 +lxl sdf lxl ldf $1>1 && $3==$1 && $4==$2: dup 2*w lxl $1 sdf $2 +lxa sti lxa loi $1>1 && $3==$1 && $4==$2 && $2%w==0: dup $2 lxa $1 sti $2 loc adi $1==-1 && $2==w: dec loc dec sfit($1-1,8*w) : loc $1-1 loc bgt $1==-1: zge $2 @@ -363,6 +363,7 @@ lol lae aar adp $3==w: adp $4 lol $1 lae $2 aar w loe lae aar adp $3==w: adp $4 loe $1 lae $2 aar w cmi zeq defined($1): cms $1 zeq $2 cmi zne defined($1): cms $1 zne $2 +#ifdef INT loe inc dup ste $1==$4 && $3==w: ine $1 loe $1 loe dec dup ste $1==$4 && $3==w: dee $1 loe $1 lol inc dup stl $1==$4 && $3==w: inl $1 lol $1 @@ -371,6 +372,7 @@ adp dup SEP adp $1==-$4 && $2==p: dup p adp $1 SEP $3 adp dup SLP adp $1==-$4 && $2==p: dup p adp $1 SLP $3 inc dup ste dec $2==w: dup w inc ste $3 inc dup stl dec $2==w: dup w inc stl $3 +#endif zeq bra lab $1==$3: zne $2 lab $1 zge bra lab $1==$3: zlt $2 lab $1 zgt bra lab $1==$3: zle $2 lab $1 @@ -387,8 +389,10 @@ lin lin : lin $2 lin lab lin : lab $2 lin $3 lin ret : ret $2 lin bra : bra $2 +#ifdef INT dup SLP loi $1==p && $3==w: SLP $2 lil $2 dup SLP sti $1==p && $3==w: SLP $2 sil $2 +#endif loc cms $1==0 && $2==w: tne zer $1==w: loc 0 loc loc adi $3==w && sfit($1+$2,8*w) : loc $1+$2 @@ -486,7 +490,17 @@ LLP LLP adp SLP sti $2==$4 && (!notreg($2) || $5!=p): LLP $1 sti $5 LLP $2 adp $3 SLP $4 LEP LEP adp SEP sti $2==$4 && $5!=p: LEP $1 sti $5 LEP $2 adp $3 SEP $4 -lil inc dup sil $1==$4 && $3==w: - lil $1 inc sil $1 lil $1 -lil dec dup sil $1==$4 && $3==w: - lil $1 dec sil $1 lil $1 +#ifndef INT +dup stl $1==w : stl $2 lol $2 +dup ste $1==w : ste $2 loe $2 +dup sil $1==w : sil $2 lil $2 +dup LEP sti $1==w && $3==w : LEP $2 sti w LEP $2 loi w +dup LLP stf $1==w : LLP $2 stf $3 LLP $2 lof $3 +dup LEP stf $1==w : LEP $2 stf $3 LEP $2 lof $3 +dup sdl $1==2*w : sdl $2 ldl $2 +dup sde $1==2*w : sde $2 lde $2 +dup LLP sti $1==2*w && $3==2*w : LLP $2 sti 2*w LLP $2 loi 2*w +dup LEP sti $1==2*w && $3==2*w : LEP $2 sti 2*w LEP $2 loi 2*w +dup LLP sdf $1==2*w : LLP $2 sdf $3 LLP $2 ldf $3 +dup LEP sdf $1==2*w : LEP $2 sdf $3 LEP $2 ldf $3 +#endif -- 2.34.1