From: dtrg Date: Sun, 29 Apr 2007 23:00:31 +0000 (+0000) Subject: Added optimised rules for int<<8 and uint>>8 (which can be done with simple register... X-Git-Tag: release-6-0-pre-3~3 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=df088c184b3388a3b0ee170b617fd121fe4efd9d;p=ack.git Added optimised rules for int<<8 and uint>>8 (which can be done with simple register shuffling rather than calling .sli). --- diff --git a/mach/i80/ncg/table b/mach/i80/ncg/table index d64da6214..575820c81 100644 --- a/mach/i80/ncg/table +++ b/mach/i80/ncg/table @@ -728,12 +728,17 @@ gen xra a mov %1.2,a mvi a,{const1,0} sbb %1.1 - mov %1.1,a yields %1 + mov %1.1,a yields %1 pat ngi $1==4 kills ALL 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 kills ALL gen Call {label,".sli2"} yields de @@ -790,6 +795,11 @@ gen Call {label,".dvi4"} 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 kills ALL uses areg={const1,0}