Added optimised rules for int<<8 and uint>>8 (which can be done with simple register shuffling rather than calling .sli).

This commit is contained in:
dtrg 2007-04-29 23:00:31 +00:00
parent 868b8c5075
commit df088c184b

View file

@ -734,6 +734,11 @@ pat ngi $1==4
kills ALL kills ALL
gen Call {label,".ngi4"} gen Call {label,".ngi4"}
pat loc sli ($1 == 8) && ($2 == 2)
with hl_or_de
gen move %1.2, %1.1
mvi %1.2, {const1,0} yields %1
pat sli $1==2 pat sli $1==2
kills ALL kills ALL
gen Call {label,".sli2"} yields de gen Call {label,".sli2"} yields de
@ -790,6 +795,11 @@ gen Call {label,".dvi4"}
pat slu leaving sli $1 pat slu leaving sli $1
pat loc sru ($1 == 8) && ($2 == 2)
with hl_or_de
gen move %1.1, %1.2
mvi %1.1, {const1,0} yields %1
pat sru $1==2 pat sru $1==2
kills ALL kills ALL
uses areg={const1,0} uses areg={const1,0}