Negation of negative operand with inc/dec added in certain cases.
Don't know effect for sure, author has left. Added rcsid.
This commit is contained in:
parent
13685d4bc0
commit
a837112d99
1 changed files with 12 additions and 11 deletions
|
@ -1,3 +1,4 @@
|
|||
"$Header$"
|
||||
#define SL 6
|
||||
#define SSL "6"
|
||||
/* savsize is 6 because size of LB is 2 and size of z8000-PC is 4 */
|
||||
|
@ -479,7 +480,7 @@ loc lol adi stl $2==$4 && $3==2 && $1<0 && $1>=0-16 | |
|
|||
( %[ind]==$2 || %[ind]==$2+1 ))
|
||||
remove( indexed, %[xreg]!=LB )
|
||||
remove( ind_access )
|
||||
"dec $2(R13), $$$1"
|
||||
"dec $2(R13), $$0-$1"
|
||||
setcc({x2, LB, $2}) | | |
|
||||
loe loc adi ste $1==$4 && $3==2 && $2>=0-16 && $2<=16 | | | |
|
||||
loc $2 loe $1 adi $3 ste $4 |
|
||||
|
@ -493,7 +494,7 @@ loc loe adi ste $2==$4 && $3==2 && $1<0 && $1>=0-16 | |
|
|||
remove( da )
|
||||
remove( indexed, %[xreg]!=LB )
|
||||
remove( ind_access )
|
||||
"dec $2, $$$1"
|
||||
"dec $2, $$0-$1"
|
||||
setcc({da2, $2}) | | |
|
||||
lil loc adi sil $1==$4 && $3==2 && $2>=0-16 && $2<=16 | | | |
|
||||
loc $2 lil $1 adi $3 sil $4 |
|
||||
|
@ -509,7 +510,7 @@ loc lil adi sil $2==$4 && $3==2 && $1<0 && $1>=0-16 | |
|
|||
allocate( LWXREG )
|
||||
move( {x2, LB, $2}, %[a.2] )
|
||||
move( {im2, 0}, %[a.1] )
|
||||
"dec *%[a], $$$1"
|
||||
"dec *%[a], $$0-$1"
|
||||
setcc({ir2, %[a]}) | | |
|
||||
lol loc sbi stl $1==$4 && $3==2 && $2>0 && $2<=16 | |
|
||||
remove( x2, %[xreg]==LB && %[ind]==$1 )
|
||||
|
@ -529,7 +530,7 @@ lol loc sbi stl $1==$4 && $3==2 && $2<0 && $2>=0-16 | |
|
|||
( %[ind]==$1 || %[ind]==$1+1 ))
|
||||
remove( indexed, %[xreg]!=LB )
|
||||
remove( ind_access )
|
||||
"inc $1(R13), $$$2"
|
||||
"inc $1(R13), $$0-$2"
|
||||
setcc({x2, LB, $1}) | | |
|
||||
loe loc sbi ste $1==$4 && $3==2 && $2>0 && $2<=16 | |
|
||||
remove( da )
|
||||
|
@ -541,7 +542,7 @@ loe loc sbi ste $1==$4 && $3==2 && $2<0 && $2>=0-16 | |
|
|||
remove( da )
|
||||
remove( indexed, %[xreg]!=LB )
|
||||
remove( ind_access )
|
||||
"inc $1, $$$2"
|
||||
"inc $1, $$0-$2"
|
||||
setcc({da2, $1}) | | |
|
||||
lil loc sbi sil $1==$4 && $3==2 && $2>0 && $2<=16 | |
|
||||
remove( allexceptcon )
|
||||
|
@ -555,7 +556,7 @@ lil loc sbi sil $1==$4 && $3==2 && $2<0 && $2>=0-16 | |
|
|||
allocate( LWXREG )
|
||||
move( {x2, LB, $1}, %[a.2] )
|
||||
move( {im2, 0}, %[a.1] )
|
||||
"inc *%[a], $$$2"
|
||||
"inc *%[a], $$0-$2"
|
||||
setcc({ir2, %[a]}) | | |
|
||||
lol ngi stl $1==$3 && $2==2 | |
|
||||
remove( x2, %[xreg]==LB && %[ind]==$1 )
|
||||
|
@ -659,7 +660,7 @@ lil adp sil $1==$3 && $2<0 && $2>=0-16 | | allocate( LWXREG )
|
|||
remove( allexceptcon )
|
||||
move( {x2, LB, $1}, %[a.2] )
|
||||
move( {im2, 0}, %[a.1] )
|
||||
"dec *%[a], $$$2"
|
||||
"dec *%[a], $$0-$2"
|
||||
setcc({ir2, %[a]}) | | |
|
||||
lil adp dup sil adp $1==$4 && $3==2 && $2==1 && $5==0-1 | |
|
||||
allocate( LWXREG, XREG )
|
||||
|
@ -698,7 +699,7 @@ lol lol adp stl $1==$2 && $2==$4 && $3<0 && $3>=0-16 | |
|
|||
( %[ind]==$1 || %[ind]==$1+1 ))
|
||||
remove( indexed, %[xreg]!=LB )
|
||||
remove( ind_access )
|
||||
"dec $1(R13), $$$3"
|
||||
"dec $1(R13), $$0-$3"
|
||||
setcc({x2, LB, $1}) | %[a] | |
|
||||
loe loe adp ste $1==$2 && $2==$4 && $3>0 && $3<=16 | |
|
||||
allocate( REG = {da2, $1} )
|
||||
|
@ -712,7 +713,7 @@ loe loe adp ste $1==$2 && $2==$4 && $3<0 && $3>=0-16 | |
|
|||
remove( da )
|
||||
remove( indexed, %[xreg]!=LB )
|
||||
remove( ind_access )
|
||||
"dec $1, $$$3"
|
||||
"dec $1, $$0-$3"
|
||||
setcc({da2, $1}) | %[a] | |
|
||||
lol adp stl $1==$3 && $2>0 && $2<=16 | |
|
||||
remove( x2, %[xreg]==LB && %[ind]==$1 )
|
||||
|
@ -732,7 +733,7 @@ lol adp stl $1==$3 && $2<0 && $2>=0-16 | |
|
|||
( %[ind]==$1 || %[ind]==$1+1 ))
|
||||
remove( indexed, %[xreg]!=LB )
|
||||
remove( ind_access )
|
||||
"dec $1(R13), $$$2"
|
||||
"dec $1(R13), $$0-$2"
|
||||
setcc({x2, LB, $1}) | | |
|
||||
loe adp ste $1==$3 && $2>0 && $2<=16 | |
|
||||
remove( da )
|
||||
|
@ -744,7 +745,7 @@ loe adp ste $1==$3 && $2<0 && $2>=0-16 | |
|
|||
remove( da )
|
||||
remove( indexed, %[xreg]!=LB )
|
||||
remove( ind_access )
|
||||
"dec $1, $$$2"
|
||||
"dec $1, $$0-$2"
|
||||
setcc({da2, $1}) | | |
|
||||
ads $1==2 | | | | adi $1 |
|
||||
ads $1==4 | | | | adi $1 |
|
||||
|
|
Loading…
Reference in a new issue