added patterns to remove as many dup's as possible.
This commit is contained in:
		
							parent
							
								
									b31c9f4a4a
								
							
						
					
					
						commit
						eebcf1b22c
					
				
					 1 changed files with 23 additions and 9 deletions
				
			
		| 
						 | 
					@ -98,13 +98,13 @@ ldl sdl $1==$2:
 | 
				
			||||||
lxa loi lxa sti $3==$1 && $4==$2:
 | 
					lxa loi lxa sti $3==$1 && $4==$2:
 | 
				
			||||||
lxa lof lxa stf $3==$1 && $4==$2:
 | 
					lxa lof lxa stf $3==$1 && $4==$2:
 | 
				
			||||||
lxa ldf lxa sdf $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 stf lxa lof $1>1 && $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 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 lof lxl stf $3==$1 && $4==$2:
 | 
				
			||||||
lxl ldf lxl sdf $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 stf lxl lof $1>1 && $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
 | 
					lxl sdf lxl ldf $1>1 && $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
 | 
					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 adi $1==-1 && $2==w:        dec
 | 
				
			||||||
loc dec sfit($1-1,8*w) :	loc $1-1
 | 
					loc dec sfit($1-1,8*w) :	loc $1-1
 | 
				
			||||||
loc bgt $1==-1: zge $2
 | 
					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
 | 
					loe lae aar adp $3==w:  adp $4  loe $1  lae $2  aar w
 | 
				
			||||||
cmi zeq defined($1):    cms $1  zeq $2
 | 
					cmi zeq defined($1):    cms $1  zeq $2
 | 
				
			||||||
cmi zne defined($1):    cms $1  zne $2
 | 
					cmi zne defined($1):    cms $1  zne $2
 | 
				
			||||||
 | 
					#ifdef INT
 | 
				
			||||||
loe inc dup ste $1==$4 && $3==w:        ine $1  loe $1
 | 
					loe inc dup ste $1==$4 && $3==w:        ine $1  loe $1
 | 
				
			||||||
loe dec dup ste $1==$4 && $3==w:        dee $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
 | 
					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
 | 
					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 ste dec $2==w:  dup w   inc     ste $3
 | 
				
			||||||
inc dup stl dec $2==w:  dup w   inc     stl $3
 | 
					inc dup stl dec $2==w:  dup w   inc     stl $3
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
zeq bra lab $1==$3:     zne $2  lab $1
 | 
					zeq bra lab $1==$3:     zne $2  lab $1
 | 
				
			||||||
zge bra lab $1==$3:     zlt $2  lab $1
 | 
					zge bra lab $1==$3:     zlt $2  lab $1
 | 
				
			||||||
zgt bra lab $1==$3:     zle $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 lab lin :   lab $2  lin $3
 | 
				
			||||||
lin ret :       ret $2
 | 
					lin ret :       ret $2
 | 
				
			||||||
lin bra :       bra $2
 | 
					lin bra :       bra $2
 | 
				
			||||||
 | 
					#ifdef INT
 | 
				
			||||||
dup SLP loi $1==p && $3==w:     SLP $2  lil $2
 | 
					dup SLP loi $1==p && $3==w:     SLP $2  lil $2
 | 
				
			||||||
dup SLP sti $1==p && $3==w:     SLP $2  sil $2
 | 
					dup SLP sti $1==p && $3==w:     SLP $2  sil $2
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
loc cms $1==0 && $2==w: tne
 | 
					loc cms $1==0 && $2==w: tne
 | 
				
			||||||
zer $1==w: loc 0
 | 
					zer $1==w: loc 0
 | 
				
			||||||
loc loc adi $3==w && sfit($1+$2,8*w) : loc $1+$2
 | 
					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
 | 
						LLP $1 sti $5 LLP $2 adp $3 SLP $4
 | 
				
			||||||
LEP LEP adp SEP sti $2==$4 && $5!=p:
 | 
					LEP LEP adp SEP sti $2==$4 && $5!=p:
 | 
				
			||||||
	LEP $1 sti $5 LEP $2 adp $3 SEP $4
 | 
						LEP $1 sti $5 LEP $2 adp $3 SEP $4
 | 
				
			||||||
lil inc dup sil $1==$4 && $3==w:
 | 
					#ifndef INT
 | 
				
			||||||
	lil $1 inc sil $1 lil $1
 | 
					dup stl $1==w : stl $2 lol $2
 | 
				
			||||||
lil dec dup sil $1==$4 && $3==w:
 | 
					dup ste $1==w : ste $2 loe $2
 | 
				
			||||||
	lil $1 dec sil $1 lil $1
 | 
					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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue