Minor improvements to the way types are expanded (should avoid embarassing ands

with 0xff).
This commit is contained in:
David Given 2019-02-17 10:09:22 +01:00
parent c4ff0899dc
commit 12a0421988

View file

@ -1186,24 +1186,23 @@ pat ciu leaving cuu $1
pat loc loc cuu $1==$2 pat loc loc cuu $1==$2
pat loc loc cuu $1==2 && $2==4 pat loc loc cuu $1==2 && $2==4
with src1or2 yields {const2,0} %1 with src1or2
yields {const2,0} %1
pat loc loc cuu $1==4 && $1==2 pat loc loc cuu $1==4 && $1==2
with src1or2 src1or2 yields %1 with src1or2 src1or2
yields %1
pat loc loc cuu $1==1 && $2==2 pat loc loc cuu $1==1 && $2==2
with reg with reg
uses reusing %1, hl_or_de yields %1
gen move %1,%a yields %a
with hl_or_de
gen move {const1,0},%1.1 yields %1
pat loc loc cuu $1==1 && $2==4 pat loc loc cuu $1==1 && $2==4
with reg with reg
uses reusing %1, hl_or_de uses reusing %1
gen move %1,%a yields {const2,0} %a yields {const2,0} %1
with hl_or_de with hl_or_de
gen move {const1,0},%1.1 yields {const2,0} %1 yields {const2,0} %1
pat cuu pat cuu
kills ALL kills ALL
@ -1260,6 +1259,12 @@ leaving loc $1 loc $2 cal ".cfu" asp 4+$1 lfr 4
/* Group 9: Logical instructions */ /* Group 9: Logical instructions */
/*****************************************/ /*****************************************/
pat loc and ($1==0xff) && ($2==2)
with hl_or_de
yields %1.2
pat loc and ($1==0xffff) && ($2==2)
pat and $1==2 pat and $1==2
with hl_or_de smallpconst2 with hl_or_de smallpconst2
uses areg uses areg
@ -1329,6 +1334,8 @@ pat and !defined($1)
gen gen
Call {label,".and"} Call {label,".and"}
pat loc ior ($1==0)
pat ior $1==2 pat ior $1==2
with hl_or_de smallpconst2 with hl_or_de smallpconst2
uses areg uses areg
@ -1398,6 +1405,8 @@ with dereg
kills ALL kills ALL
gen Call {label,".ior"} gen Call {label,".ior"}
pat loc xor ($1==0)
pat xor $1==2 pat xor $1==2
with hl_or_de smallpconst2 with hl_or_de smallpconst2
uses areg uses areg