summaryrefslogtreecommitdiff
path: root/assembler
diff options
context:
space:
mode:
authorHomer Hsing <homer.xing@intel.com>2012-09-18 13:47:22 +0800
committerDamien Lespiau <damien.lespiau@intel.com>2013-03-04 15:54:32 +0000
commitbebe8179e1b97ac8111756de1cf27f54eebee150 (patch)
treef553976d92a6f3f63e971339ebfd7f1efa08ca28 /assembler
parent74383f4db4c348be1fd3c227653493c8eb5dab67 (diff)
According to BSPEC, put PLN & BFI1 to binaryop, put SUBB to binaryaccop
bspec: BFI1 should not access accumulator. PLN should not use accumulator as source. future work in gram.y: show warning if acc is used as dest for ADDC/SUBB/CMP/CMPN/SHL/BFI1.
Diffstat (limited to 'assembler')
-rw-r--r--assembler/src/gram.y7
1 files changed, 4 insertions, 3 deletions
diff --git a/assembler/src/gram.y b/assembler/src/gram.y
index 58940cbe..645e5d46 100644
--- a/assembler/src/gram.y
+++ b/assembler/src/gram.y
@@ -454,7 +454,8 @@ binaryinstruction:
}
;
-binaryop: MUL | MAC | MACH | LINE | SAD2 | SADA2 | DP4 | DPH | DP3 | DP2 | SUBB
+/* bspec: BFI1 should not access accumulator. */
+binaryop: MUL | MAC | MACH | LINE | SAD2 | SADA2 | DP4 | DPH | DP3 | DP2 | PLN | BFI1
;
// Source operands can be accumulators
@@ -492,8 +493,8 @@ binaryaccinstruction:
}
;
-binaryaccop: AVG | ADD | SEL | AND | OR | XOR | SHR | SHL | ASR | CMP | CMPN | PLN
- | ADDC | BFI1
+/* TODO: bspec says ADDC/SUBB/CMP/CMPN/SHL/BFI1 cannot use accumulator as dest. */
+binaryaccop: AVG | ADD | SEL | AND | OR | XOR | SHR | SHL | ASR | CMP | CMPN | ADDC | SUBB
;
trinaryop: MAD | LRP | BFE | BFI2