diff options
| author | Prashanth Mundkur | 2018-11-09 12:05:23 -0800 |
|---|---|---|
| committer | Prashanth Mundkur | 2018-11-09 12:05:30 -0800 |
| commit | fdfea2412245d8be89b12a78cb321364b3ab77a5 (patch) | |
| tree | 9c45c141f1a3bfd3dc2ab9c0abacbdbf9e78911c /riscv | |
| parent | 7091dd1a68ef85f91d6113b80746555580145a96 (diff) | |
RISC-V: add missed c.ebreak instruction
Diffstat (limited to 'riscv')
| -rw-r--r-- | riscv/riscv.sail | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/riscv/riscv.sail b/riscv/riscv.sail index f9945a4d..f50514aa 100644 --- a/riscv/riscv.sail +++ b/riscv/riscv.sail @@ -1492,6 +1492,16 @@ function clause execute (C_MV(rd, rs2)) = mapping clause assembly = C_MV(rd, rs2) if rd != zreg & rs2 != zreg <-> "c.mv" ^ spc() ^ reg_name(rd) ^ sep() ^ reg_name(rs2) if rd != zreg & rs2 != zreg /* ****************************************************************** */ +union clause ast = C_EBREAK : unit + +mapping clause encdec_compressed = C_EBREAK() <-> 0b100 @ 0b1 @ 0b00000 @ 0b00000 @ 0b10 + +function clause execute C_EBREAK() = + execute(EBREAK()) + +mapping clause assembly = C_EBREAK() <-> "c.ebreak" + +/* ****************************************************************** */ union clause ast = C_ADD : (regbits, regbits) mapping clause encdec_compressed = C_ADD(rsd, rs2) if rsd != zreg & rs2 != zreg <-> 0b100 @ 0b1 @ rsd : regbits @ rs2 : regbits @ 0b10 if rsd != zreg & rs2 != zreg |
