diff options
Diffstat (limited to 'model/riscv_insts_base.sail')
-rw-r--r-- | model/riscv_insts_base.sail | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/model/riscv_insts_base.sail b/model/riscv_insts_base.sail index f102cbd..9c4630b 100644 --- a/model/riscv_insts_base.sail +++ b/model/riscv_insts_base.sail @@ -794,49 +794,3 @@ function clause execute SFENCE_VMA(rs1, rs2) = { mapping clause assembly = SFENCE_VMA(rs1, rs2) <-> "sfence.vma" ^ spc() ^ reg_name(rs1) ^ sep() ^ reg_name(rs2) - -/* ****************************************************************** */ -union clause ast = SINVAL_VMA : (regidx, regidx) - -mapping clause encdec = - SINVAL_VMA(rs1, rs2) if haveSvinval() - <-> 0b0001011 @ rs2 : regidx @ rs1 : regidx @ 0b000 @ 0b00000 @ 0b1110011 if haveSvinval() - -function clause execute SINVAL_VMA(rs1, rs2) = { - execute(SFENCE_VMA(rs1, rs2)) -} - -mapping clause assembly = SINVAL_VMA(rs1, rs2) - <-> "sinval.vma" ^ spc() ^ reg_name(rs1) ^ sep() ^ reg_name(rs2) - -/* ****************************************************************** */ -union clause ast = SFENCE_W_INVAL : unit - -mapping clause encdec = - SFENCE_W_INVAL() if haveSvinval() - <-> 0b0001100 @ 0b00000 @ 0b00000 @ 0b000 @ 0b00000 @ 0b1110011 if haveSvinval() - -function clause execute SFENCE_W_INVAL() = { - if cur_privilege == User - then { handle_illegal(); RETIRE_FAIL } - else { RETIRE_SUCCESS } -} - -mapping clause assembly = SFENCE_W_INVAL() <-> "sfence.w.inval" - -/* ****************************************************************** */ -union clause ast = SFENCE_INVAL_IR : unit - -mapping clause encdec = - SFENCE_INVAL_IR() if haveSvinval() - <-> 0b0001100 @ 0b00001 @ 0b00000 @ 0b000 @ 0b00000 @ 0b1110011 if haveSvinval() - -function clause execute SFENCE_INVAL_IR() = { - if cur_privilege == User - then { handle_illegal(); RETIRE_FAIL } - else { RETIRE_SUCCESS } -} - -mapping clause assembly = SFENCE_INVAL_IR() <-> "sfence.inval.ir" - -/* ****************************************************************** */ |