On Thu, Jun 11, 2026 at 08:08:35AM +0200, Nam Cao wrote: > Charlie Jenkins via B4 Relay > <[email protected]> writes: > > +#define riscv_insn_branch(_insn, regs_ptr, _opcode, _pc, _comparison, > > type) \ > > + ({ > > \ > > + unsigned long _ret; > > \ > > + if ((type)riscv_insn_reg_get_val( > > \ > > + regs_ptr, > > \ > > + riscv_insn_##_insn##_extract_xs1(_opcode)) > > \ > > + _comparison(type) riscv_insn_reg_get_val( > > \ > > + regs_ptr, > > \ > > + riscv_insn_##_insn##_extract_xs2(_opcode))) > > \ > > + _ret = riscv_insn_##_insn##_extract_imm(_opcode); > > \ > > Should be > _ret = _pc + riscv_insn_##_insn##_extract_imm(_opcode);
Hmm I am surprised my test cases didn't catch that. Thank you! - Charlie > > > + else > > \ > > + _ret = _pc + 4; > > \ > > + _ret; > > \ > > + }) > > +

