On Sun, 2026-08-09 at 15:35 -0700, Richard Henderson wrote:
> "mv" has already checked a condition that applies to "nop".
> 
> Signed-off-by: Richard Henderson <[email protected]>

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

Alistair

> ---
>  disas/riscv.c | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/disas/riscv.c b/disas/riscv.c
> index 2fec135b5f..37f6440831 100644
> --- a/disas/riscv.c
> +++ b/disas/riscv.c
> @@ -1035,7 +1035,7 @@ static const rvc_constraint rvcc_jal_ra[] = {
> rvc_rd_eq_ra, rvc_end };
>  static const rvc_constraint rvcc_jalr_ra[] = { rvc_rd_eq_ra,
> rvc_imm_eq_zero,
>                                                 rvc_end };
>  static const rvc_constraint rvcc_nop[] = { rvc_rd_eq_x0,
> rvc_rs1_eq_x0,
> -                                           rvc_imm_eq_zero, rvc_end
> };
> +                                           rvc_end };
>  static const rvc_constraint rvcc_mv[] = { rvc_imm_eq_zero, rvc_end
> };
>  static const rvc_constraint rvcc_not[] = { rvc_imm_eq_n1, rvc_end };
>  static const rvc_constraint rvcc_neg[] = { rvc_rs1_eq_x0, rvc_end };
> @@ -1108,11 +1108,15 @@ static const rv_comp_data rvcp_bge[] = {
>  };
>  
>  static const rv_comp_data rvcp_addi[] = {
> -    { rv_op_nop, rvcc_nop },
>      { rv_op_mv, rvcc_mv },
>      { },
>  };
>  
> +static const rv_comp_data rvcp_mv[] = {
> +    { rv_op_nop, rvcc_nop },
> +    { },
> +};
> +
>  static const rv_comp_data rvcp_sltiu[] = {
>      { rv_op_seqz, rvcc_seqz },
>      { },
> @@ -1869,7 +1873,7 @@ static const rv_opcode_data rvi_opcode_data[] =
> {
>      { "c.lqsp", rv_codec_ci_lqsp, NULL, DECOMP(rv_op_lq) },
>      { "c.sqsp", rv_codec_css_sqsp, NULL, DECOMP(rv_op_sq) },
>      { "nop", rv_codec_i, rv_fmt_none },
> -    { "mv", rv_codec_i, rv_fmt_rd_rs1 },
> +    { "mv", rv_codec_i, rv_fmt_rd_rs1, rvcp_mv },
>      { "not", rv_codec_i, rv_fmt_rd_rs1 },
>      { "neg", rv_codec_r, rv_fmt_rd_rs2 },
>      { "negw", rv_codec_r, rv_fmt_rd_rs2 },

Reply via email to