On Sun, 2026-09-13 at 14:08 -1000, Richard Henderson wrote:
> Signed-off-by: Richard Henderson <[email protected]>

Reviewed-by: Alistair Francis <[email protected]>

Alistair

> ---
>  tcg/riscv64/tcg-target.c.inc | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/tcg/riscv64/tcg-target.c.inc b/tcg/riscv64/tcg-
> target.c.inc
> index d0c9d8e9cd2..a5ed1e95722 100644
> --- a/tcg/riscv64/tcg-target.c.inc
> +++ b/tcg/riscv64/tcg-target.c.inc
> @@ -447,6 +447,7 @@ static tcg_insn_unit encode_r(RISCVInsn opc,
> TCGReg rd, TCGReg rs1, TCGReg rs2)
>  
>  static tcg_insn_unit encode_imm12(tcg_target_long imm)
>  {
> +    tcg_debug_assert(imm == sextract32(imm, 0, 12));
>      return (imm & 0xfff) << 20;
>  }
>  
> @@ -462,6 +463,7 @@ static tcg_insn_unit
> encode_simm12(tcg_target_long imm)
>  {
>      tcg_insn_unit ret = 0;
>  
> +    tcg_debug_assert(imm == sextract32(imm, 0, 12));
>      ret |= (imm & 0xFE0) << 20;
>      ret |= (imm & 0x1F) << 7;
>  
> @@ -498,7 +500,8 @@ static tcg_insn_unit encode_b(RISCVInsn opc,
> TCGReg rs1,
>  
>  static tcg_insn_unit encode_uimm20(tcg_target_long imm)
>  {
> -    return imm & 0xfffff000;
> +    tcg_debug_assert(imm == (int32_t)imm && (imm & 0xfff) == 0);
> +    return imm & 0xfffff000u;
>  }
>  
>  static tcg_insn_unit encode_u(RISCVInsn opc, TCGReg rd,
> tcg_target_long imm)

Reply via email to