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);
> + else
> \
> + _ret = _pc + 4;
> \
> + _ret;
> \
> + })
> +