aboutsummaryrefslogtreecommitdiff
path: root/riscv/rocc.cc
diff options
context:
space:
mode:
authorWeiwei Li <liweiwei@iscas.ac.cn>2022-04-13 15:22:41 +0800
committerWeiwei Li <liweiwei@iscas.ac.cn>2022-04-14 09:40:17 +0800
commit750f008e723bb3b20cec41a47ed5cec549447665 (patch)
treeb2f2bc14c74ea90073803517579465c7c7f368a2 /riscv/rocc.cc
parentc3c04a8be2c641de2b198b90df6c1538eb204120 (diff)
downloadspike-750f008e723bb3b20cec41a47ed5cec549447665.zip
spike-750f008e723bb3b20cec41a47ed5cec549447665.tar.gz
spike-750f008e723bb3b20cec41a47ed5cec549447665.tar.bz2
add support for overlap instructions
* add DECLARE_OVERLAP_INSN to bind instructions with extension * add overlap_list.h to contain the declare of all overlapping instructions * make func function for overlapping instruction return NULL when the coresponding extension(s) is not supported.
Diffstat (limited to 'riscv/rocc.cc')
-rw-r--r--riscv/rocc.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/riscv/rocc.cc b/riscv/rocc.cc
index f50934f..2d09095 100644
--- a/riscv/rocc.cc
+++ b/riscv/rocc.cc
@@ -32,10 +32,10 @@ customX(3)
std::vector<insn_desc_t> rocc_t::get_instructions()
{
std::vector<insn_desc_t> insns;
- insns.push_back((insn_desc_t){0x0b, 0x7f, &::illegal_instruction, c0, &::illegal_instruction, c0});
- insns.push_back((insn_desc_t){0x2b, 0x7f, &::illegal_instruction, c1, &::illegal_instruction, c1});
- insns.push_back((insn_desc_t){0x5b, 0x7f, &::illegal_instruction, c2, &::illegal_instruction, c2});
- insns.push_back((insn_desc_t){0x7b, 0x7f, &::illegal_instruction, c3, &::illegal_instruction, c3});
+ insns.push_back((insn_desc_t){true, 0x0b, 0x7f, &::illegal_instruction, c0, &::illegal_instruction, c0});
+ insns.push_back((insn_desc_t){true, 0x2b, 0x7f, &::illegal_instruction, c1, &::illegal_instruction, c1});
+ insns.push_back((insn_desc_t){true, 0x5b, 0x7f, &::illegal_instruction, c2, &::illegal_instruction, c2});
+ insns.push_back((insn_desc_t){true, 0x7b, 0x7f, &::illegal_instruction, c3, &::illegal_instruction, c3});
return insns;
}