aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2023-06-02 12:03:29 -0700
committerGitHub <noreply@github.com>2023-06-02 12:03:29 -0700
commit58d2dbe17da09d515db50c20d923ab9d0f81de49 (patch)
tree21481dd48258f23db8c33a7aebbcc5d6ca394b75
parentb8e6c53fb43d58fa32aae1fc9b2b8f6cb075b054 (diff)
parent047491581cd6437620a19b51594a35c158a53466 (diff)
downloadriscv-isa-sim-58d2dbe17da09d515db50c20d923ab9d0f81de49.zip
riscv-isa-sim-58d2dbe17da09d515db50c20d923ab9d0f81de49.tar.gz
riscv-isa-sim-58d2dbe17da09d515db50c20d923ab9d0f81de49.tar.bz2
Merge pull request #1372 from plctlab/plct-cmmv-fix
Fix bugs in disassembling code for cm.mva01s/mvsa01 instructions
-rw-r--r--disasm/disasm.cc16
1 files changed, 14 insertions, 2 deletions
diff --git a/disasm/disasm.cc b/disasm/disasm.cc
index fef9fac..2fce1a1 100644
--- a/disasm/disasm.cc
+++ b/disasm/disasm.cc
@@ -238,6 +238,18 @@ struct : public arg_t {
struct : public arg_t {
std::string to_string(insn_t insn) const {
+ return xpr_name[RVC_R1S];
+ }
+} rvc_r1s;
+
+struct : public arg_t {
+ std::string to_string(insn_t insn) const {
+ return xpr_name[RVC_R2S];
+ }
+} rvc_r2s;
+
+struct : public arg_t {
+ std::string to_string(insn_t insn) const {
return fpr_name[insn.rvc_rs2s()];
}
} rvc_fp_rs2s;
@@ -1347,8 +1359,8 @@ void disassembler_t::add_instructions(const isa_parser_t* isa)
DISASM_INSN("cm.popretz", cm_popretz, 0, {&rvcm_pushpop_rlist, &rvcm_pop_stack_adj_64});
}
- DISASM_INSN("cm.mva01s", cm_mva01s, 0, {&rvc_rs1s, &rvc_rs2s});
- DISASM_INSN("cm.mvsa01", cm_mvsa01, 0, {&rvc_rs1s, &rvc_rs2s});
+ DISASM_INSN("cm.mva01s", cm_mva01s, 0, {&rvc_r1s, &rvc_r2s});
+ DISASM_INSN("cm.mvsa01", cm_mvsa01, 0, {&rvc_r1s, &rvc_r2s});
}
if (isa->extension_enabled(EXT_ZCMT)) {