瀏覽代碼

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

dtrg 17 年之前
父節點
當前提交
1820152008
共有 1 個文件被更改,包括 11 次插入1 次删除
  1. 11 1
      mach/i80/ncg/table

+ 11 - 1
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}