added setcc calls to some incrementing ops
added patterns for indirect local and external increments added patterns for loe ine and such
This commit is contained in:
		
							parent
							
								
									59fa458a20
								
							
						
					
					
						commit
						6f8e6faa1f
					
				
					 1 changed files with 53 additions and 4 deletions
				
			
		|  | @ -1052,9 +1052,11 @@ lil ngi sil $1==$3 && $2==2 && inreg($1)==2 | | | |||
| 			INDSTORE | ||||
| 			"neg *%(regvar($1)%)" 		|	| | | ||||
| lil inc sil $1==$3 && inreg($1)==2 | | INDSTORE | ||||
| 			"inc *%(regvar($1)%)"		|	| | | ||||
| 			"inc *%(regvar($1)%)" | ||||
| 			setcc({regdef2, regvar($1)})	|	| | | ||||
| lil dec sil $1==$3 && inreg($1)==2 | | INDSTORE | ||||
| 			"dec *%(regvar($1)%)"		|	| | | ||||
| 			"dec *%(regvar($1)%)" | ||||
| 			setcc({regdef2, regvar($1)})	|	| | | ||||
| lol adi stl $2==2 && $1==$3 && inreg($1)==2 | source2 | | ||||
| 			remove(regvar($1)) | ||||
| 			"add %[1],%(regvar($1)%)" | ||||
|  | @ -1105,6 +1107,18 @@ lol adp stl $1==$3 && inreg($1)==2 | | | |||
| 			remove(regvar($1)) | ||||
| 			"add $$$2,%(regvar($1)%)" | ||||
| 			erase(regvar($1))		|	| | | ||||
| lil adp sil $1==$3 && $2==1 && inreg($1)==2 | | | ||||
| 			INDSTORE | ||||
| 			"inc *%(regvar($1)%)" | ||||
| 			erase(regvar($1))		|	| | | ||||
| lil adp sil $1==$3 && $2==0-1 && inreg($1)==2 | | | ||||
| 			INDSTORE | ||||
| 			"dec *%(regvar($1)%)" | ||||
| 			erase(regvar($1))		|	| | | ||||
| lil adp sil $1==$3 && inreg($1)==2 | | | ||||
| 			INDSTORE | ||||
| 			"add $$$2,*%(regvar($1)%)" | ||||
| 			erase(regvar($1))		|	| | | ||||
| #endif | ||||
| lol loc sbi stl $1==$4 && $3==2 | |  | ||||
| 			remove(indordef) | ||||
|  | @ -1119,9 +1133,11 @@ lol ngi stl $1==$3 && $2==2 | | | |||
| lil ngi sil $1==$3 && $2==2 | | INDSTORE | ||||
| 			"neg *$1(r5)"			|	| | | ||||
| lil inc sil $1==$3 | | INDSTORE | ||||
| 			"inc *$1(r5)"			|	| | | ||||
| 			"inc *$1(r5)" | ||||
| 			setcc({reginddef2, lb, tostring($1)})	|	| | | ||||
| lil dec sil $1==$3 | | INDSTORE | ||||
| 			"dec *$1(r5)"			|	| | | ||||
| 			"dec *$1(r5)" | ||||
| 			setcc({reginddef2, lb, tostring($1)})	|	| | | ||||
| lol adi stl $2==2 && $1==$3 | source2 | | ||||
| 			remove(indordef) | ||||
| 			remove(locals, %[ind] <= $1 && %[ind]+%[size] > $1) | ||||
|  | @ -1142,6 +1158,18 @@ lol adp stl $1==$3 | | | |||
| 			remove(locals, %[ind] <= $1 && %[ind]+%[size] > $1) | ||||
| 			"add $$$2,$1(r5)" | ||||
| 			setcc({LOCAL2,$1,2})		|	| | | ||||
| lil adp sil $1==$3 && $2==1 | | | ||||
| 			INDSTORE | ||||
| 			"inc *$1(r5)" | ||||
| 			setcc({LOCAL2,$1,2})		|	| | | ||||
| lil adp sil $1==$3 && $2==0-1 | | | ||||
| 			INDSTORE | ||||
| 			"dec *$1(r5)" | ||||
| 			setcc({LOCAL2,$1,2})		|	| | | ||||
| lil adp sil $1==$3 | | | ||||
| 			INDSTORE | ||||
| 			"add $$$2,*$1(r5)" | ||||
| 			setcc({LOCAL2,$1,2})		|	| | | ||||
| loe adi ste $2==2 && $1==$3 | source2 | | ||||
| 			remove(posextern) | ||||
| 			"add %[1],$1" | ||||
|  | @ -1158,6 +1186,27 @@ loe adp ste $1==$3 | | | |||
| 			remove(posextern) | ||||
| 			"add $$$2,$1" | ||||
| 			setcc({relative2,$1})		|	| | | ||||
| loe loi adp loe sti $1==$4 && $2==2 && $5==2 && $3==1 | | | ||||
| 			INDSTORE | ||||
| 			"inc *$1" | ||||
| 			setcc({reldef2,$1})		|	| | | ||||
| loe loi adp loe sti $1==$4 && $2==2 && $5==2 && $3==0-1 | | | ||||
| 			INDSTORE | ||||
| 			"dec *$1" | ||||
| 			setcc({reldef2,$1})		|	| | | ||||
| loe loi adp loe sti $1==$4 && $2==2 && $5==2 | | | ||||
| 			INDSTORE | ||||
| 			"add $$$3,*$1" | ||||
| 			setcc({reldef2,$1})		|	| | | ||||
| loe ine $1==$2 | | | ||||
| 			allocate(REG={relative2, $1})	| %[a]  | ||||
| 							| ine $2 | | ||||
| loe dee $1==$2 | | | ||||
| 			allocate(REG={relative2, $1})	| %[a]  | ||||
| 							| dee $2 | | ||||
| loe loe adp ste $1==$2 && $2==$4 | | | ||||
| 			allocate(REG={relative2, $1})	| %[a]  | ||||
| 							| loe $2 adp $3 ste $2 | | ||||
| #ifdef REGVARS | ||||
| lol ior stl $2==2 && $1==$3 && inreg($1)==2 | source2 | | ||||
| 			remove(regvar($1)) | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue