From 12a04219880cbe1e6a3fe45d6c8e4581e2420602 Mon Sep 17 00:00:00 2001 From: David Given Date: Sun, 17 Feb 2019 10:09:22 +0100 Subject: [PATCH] Minor improvements to the way types are expanded (should avoid embarassing ands with 0xff). --- mach/i80/ncg/table | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/mach/i80/ncg/table b/mach/i80/ncg/table index bfc21334d..9eea4b76a 100644 --- a/mach/i80/ncg/table +++ b/mach/i80/ncg/table @@ -1186,24 +1186,23 @@ pat ciu leaving cuu $1 pat loc loc cuu $1==$2 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 -with src1or2 src1or2 yields %1 + with src1or2 src1or2 + yields %1 pat loc loc cuu $1==1 && $2==2 -with reg - uses reusing %1, hl_or_de - gen move %1,%a yields %a -with hl_or_de - gen move {const1,0},%1.1 yields %1 + with reg + yields %1 pat loc loc cuu $1==1 && $2==4 -with reg - uses reusing %1, hl_or_de - gen move %1,%a yields {const2,0} %a -with hl_or_de - gen move {const1,0},%1.1 yields {const2,0} %1 + with reg + uses reusing %1 + yields {const2,0} %1 + with hl_or_de + yields {const2,0} %1 pat cuu kills ALL @@ -1260,6 +1259,12 @@ leaving loc $1 loc $2 cal ".cfu" asp 4+$1 lfr 4 /* 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 with hl_or_de smallpconst2 uses areg @@ -1329,6 +1334,8 @@ pat and !defined($1) gen Call {label,".and"} +pat loc ior ($1==0) + pat ior $1==2 with hl_or_de smallpconst2 uses areg @@ -1398,6 +1405,8 @@ with dereg kills ALL gen Call {label,".ior"} +pat loc xor ($1==0) + pat xor $1==2 with hl_or_de smallpconst2 uses areg -- 2.34.1