fixed some incorrect kills

This commit is contained in:
ceriel 1989-02-15 11:39:13 +00:00
parent fcc033df20
commit 0c19cc22e0

View file

@ -629,7 +629,7 @@ pat stl inreg($1)==reg_any
#endif #endif
pat stl pat stl
with regorconst with regorconst
kills indexed,locals %ind>=$1 && %ind<$1+2 kills indexed,locals %ind+%size > $1 && %ind < $1+2
gen move %1,{LOCAL,$1,2} gen move %1,{LOCAL,$1,2}
with exact STACK with exact STACK
kills ALL kills ALL
@ -724,7 +724,7 @@ pat sti $1==1
kills indirects kills indirects
gen move %2,{EXTERN1,%1.off} gen move %2,{EXTERN1,%1.off}
with ADDR_LOCAL regorconst12 with ADDR_LOCAL regorconst12
kills indexed,locals %ind<=%1.ind && %ind+%size>%1.ind kills indexed,locals %ind+%size > $1 && %ind <= $1
gen move %2,{ind_regoff1,bp,%1.ind} gen move %2,{ind_regoff1,bp,%1.ind}
pat sti $1==4 pat sti $1==4
@ -1268,7 +1268,7 @@ pat inl inreg($1)==reg_any
#endif #endif
pat inl pat inl
kills indexed, locals %ind>=$1 && %ind<$1+2 kills indexed,locals %ind+%size > $1 && %ind < $1+2
gen inc {LOCAL, $1, 2} gen inc {LOCAL, $1, 2}
pat ine pat ine
@ -1286,7 +1286,7 @@ pat del inreg($1)==reg_any
#endif #endif
pat del pat del
kills indexed, locals %ind>=$1 && %ind<$1+2 kills indexed,locals %ind+%size > $1 && %ind < $1+2
gen dec {LOCAL, $1, 2} gen dec {LOCAL, $1, 2}
pat dee pat dee
@ -1300,7 +1300,7 @@ pat zrl inreg($1)==reg_any
#endif #endif
pat zrl pat zrl
kills indexed, locals %ind>=$1 && %ind<$1+2 kills indexed,locals %ind+%size > $1 && %ind < $1+2
gen move {ANYCON, 0}, {LOCAL,$1,2} gen move {ANYCON, 0}, {LOCAL,$1,2}
pat zre pat zre
@ -1360,7 +1360,7 @@ pat lil xor sil $1==$3 && $2==2 && inreg($1)==reg_any call lilrxxxsil("xor")
proc lolxxxstl example lol adi stl proc lolxxxstl example lol adi stl
with regorconst with regorconst
kills indexed, locals %ind>=$1 && %ind<$1+2 kills indexed,locals %ind+%size > $1 && %ind < $1+2
gen axx* {LOCAL, $1, 2}, %1 gen axx* {LOCAL, $1, 2}, %1
pat lol adi stl $1==$3 && $2==2 call lolxxxstl("add") pat lol adi stl $1==$3 && $2==2 call lolxxxstl("add")
@ -1420,7 +1420,7 @@ pat loe xor ste $1==$3 && $2==2 call loexxxste("xor")
proc ldlxxxsdl example ldl adi sdl proc ldlxxxsdl example ldl adi sdl
with regorconst regorconst with regorconst regorconst
kills indexed, locals %ind>=$1 && %ind<$1+4 kills indexed,locals %ind+%size > $1 && %ind < $1+4
gen axx[1] {LOCAL,$1,2},%1 gen axx[1] {LOCAL,$1,2},%1
axx[2] {LOCAL,$1+2,2},%2 axx[2] {LOCAL,$1+2,2},%2
@ -1431,7 +1431,7 @@ pat ldl ior sdl $1==$3 && $2==4 call ldlxxxsdl("or", "or")
pat ldl xor sdl $1==$3 && $2==4 call ldlxxxsdl("xor", "xor") pat ldl xor sdl $1==$3 && $2==4 call ldlxxxsdl("xor", "xor")
proc ldlcxxsdl example ldl ldc sbi sdl proc ldlcxxsdl example ldl ldc sbi sdl
kills indexed, locals %ind>=$1 && %ind<$1+2 kills indexed,locals %ind+%size > $1 && %ind < $1+4
gen axx[1] {LOCAL,$1,2},{ANYCON,loww($2)} gen axx[1] {LOCAL,$1,2},{ANYCON,loww($2)}
axx[2] {LOCAL,$1+2,2},{ANYCON,highw($2)} axx[2] {LOCAL,$1+2,2},{ANYCON,highw($2)}
@ -1582,7 +1582,7 @@ pat lol loc sru stl $1==$4 && $3==2 && inreg($1)==reg_any
#endif #endif
proc lolcxxstl example lol loc sbi stl proc lolcxxstl example lol loc sbi stl
kills indexed, locals %ind>=$1 && %ind<$1+2 kills indexed,locals %ind+%size > $1 && %ind < $1+2
gen axx* {LOCAL,$1,2},{ANYCON,$2} gen axx* {LOCAL,$1,2},{ANYCON,$2}
pat lol loc sbi stl $1==$4 && $3==2 call lolcxxstl("sub") pat lol loc sbi stl $1==$4 && $3==2 call lolcxxstl("sub")
@ -1593,7 +1593,7 @@ pat lol loc sri stl $1==$4 && $3==2 && $2==1 call lolcxxstl("sar")
pat lol loc sru stl $1==$4 && $3==2 && $2==1 call lolcxxstl("shr") pat lol loc sru stl $1==$4 && $3==2 && $2==1 call lolcxxstl("shr")
proc lolcshstl example lol loc sli stl proc lolcshstl example lol loc sli stl
kills indexed, locals %ind>=$1 && %ind<$1+2 kills indexed,locals %ind+%size > $1 && %ind < $1+2
uses CXREG = {ANYCON,$2} uses CXREG = {ANYCON,$2}
gen sxx* {LOCAL,$1,2},cl gen sxx* {LOCAL,$1,2},cl
@ -1633,11 +1633,11 @@ gen neg {LOCAL, $1, 2}
#endif #endif
pat lol ngi stl $1==$3 && $2==2 pat lol ngi stl $1==$3 && $2==2
kills indexed, locals %ind>=$1 && %ind<$1+2 kills indexed,locals %ind+%size > $1 && %ind < $1+2
gen neg {LOCAL, $1, 2} gen neg {LOCAL, $1, 2}
pat ldl ngi sdl $1==$3 && $2==4 pat ldl ngi sdl $1==$3 && $2==4
kills indexed, locals %ind>=$1 && %ind<$1+4 kills indexed,locals %ind+%size > $1 && %ind < $1+4
gen neg {LOCAL, $1, 2} gen neg {LOCAL, $1, 2}
neg {LOCAL, $1+2, 2} neg {LOCAL, $1+2, 2}
sbb {LOCAL, $1+2, 2}, {ANYCON, 0} sbb {LOCAL, $1+2, 2}, {ANYCON, 0}
@ -1681,7 +1681,7 @@ gen not {LOCAL,$1,2}
#endif #endif
pat lol com stl $1==$3 && $2==2 pat lol com stl $1==$3 && $2==2
kills indexed, locals %ind>=$1 && %ind<$1+2 kills indexed,locals %ind+%size > $1 && %ind < $1+2
gen not {LOCAL, $1, 2} gen not {LOCAL, $1, 2}
#ifdef REGVARS #ifdef REGVARS