Don't automatically run autoconf
[riscv-isa-sim.git] / riscv / insns / c_ldsp.h
index 1fbd9bd9515a05bed1e2c5848b6a703e8a97fd49..aa98f3365daa3005c3ad6c318dce0b90ba38f536 100644 (file)
@@ -1,3 +1,8 @@
-require_rvc;
-require_xpr64;
-CRD = mmu.load_int64(XPR[30]+CIMM6*8);
+require_extension('C');
+if (xlen == 32) {
+  if (sreg_t(RVC_RS1S) >= 0) // c.bgez
+    set_pc(pc + insn.rvc_b_imm());
+} else {
+  require(insn.rvc_rd() != 0);
+  WRITE_RD(MMU.load_int64(RVC_SP + insn.rvc_ldsp_imm()));
+}