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