Fix for issue #183: No illegal instruction exception for c.sxxi instructions encoded...
[riscv-isa-sim.git] / riscv / insns / c_slli.h
index fb6dffd3a331a2f88dec85b23415eccc42b10093..19d7908dc5b5f8659a44353d41ec88edeb714a45 100644 (file)
@@ -1,4 +1,3 @@
-require_rvc;
-if (insn.rvc_imm() >= xlen)
-  throw trap_illegal_instruction();
-WRITE_RD(sext_xlen(RVC_RS2 << insn.rvc_imm()));
+require_extension('C');
+require(insn.rvc_zimm() < xlen && insn.rvc_zimm() > 0);
+WRITE_RD(sext_xlen(RVC_RS1 << insn.rvc_zimm()));