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;                                                           
> > \
> > +   })
> > +

Reply via email to