Fix disassembly of c.li 0
authorAndrew Waterman <andrew@sifive.com>
Sat, 4 Nov 2017 01:13:22 +0000 (18:13 -0700)
committerAndrew Waterman <andrew@sifive.com>
Sat, 4 Nov 2017 01:13:22 +0000 (18:13 -0700)
Resolves #152

spike_main/disasm.cc

index eedc6b8bc54e6b00dc9986b50d59a725a5249666..1df881054c31517f459314d9bee6dfe240501162 100644 (file)
@@ -499,7 +499,7 @@ disassembler_t::disassembler_t(int xlen)
   DEFINE_FXTYPE(fle_d);
 
   DISASM_INSN("ebreak", c_add, mask_rd | mask_rvc_rs2, {});
-  add_insn(new disasm_insn_t("ret", match_c_li | match_rd_ra, mask_c_li | mask_rd | mask_rvc_imm, {}));
+  add_insn(new disasm_insn_t("ret", match_c_jr | match_rd_ra, mask_c_jr | mask_rd | mask_rvc_imm, {}));
   DISASM_INSN("jr", c_jr, mask_rvc_imm, {&rvc_rs1});
   DISASM_INSN("jalr", c_jalr, mask_rvc_imm, {&rvc_rs1});
   DISASM_INSN("nop", c_addi, mask_rd | mask_rvc_imm, {});