Fix for issue #183: No illegal instruction exception for c.sxxi instructions encoded...
[riscv-isa-sim.git] / riscv / insns / c_srli.h
index 56e06819a4c4fbef286d8202eaa782886c3b6f5c..008ae6221e89985b2f3a0aef5c74e698137a9114 100644 (file)
@@ -1,5 +1,3 @@
-require_rvc;
-if(xpr64)
-  CRDS = CRDS >> CIMM5U;
-else
-  CRDS = sext32(uint32_t(CRDS) >> CIMM5U);
+require_extension('C');
+require(insn.rvc_zimm() < xlen && insn.rvc_zimm() > 0);
+WRITE_RVC_RS1S(sext_xlen(zext_xlen(RVC_RS1S) >> insn.rvc_zimm()));