Hi,

> This patch would like to remove the magic number in the riscv-v.cc, and
> align the same value to one macro.

> diff --git a/gcc/config/riscv/riscv-v.cc b/gcc/config/riscv/riscv-v.cc
> index 458020ce0a1..20b589bf51b 100644
> --- a/gcc/config/riscv/riscv-v.cc
> +++ b/gcc/config/riscv/riscv-v.cc
> @@ -351,13 +351,15 @@ emit_vlmax_insn (unsigned icode, int op_num, rtx *ops, 
> rtx vl)
>  {
>    machine_mode data_mode = GET_MODE (ops[0]);
>    machine_mode mask_mode = get_mask_mode (data_mode).require ();
> -  /* We have a maximum of 11 operands for RVV instruction patterns according 
> to
> -   * vector.md.  */
> -  insn_expander<11> e (/*OP_NUM*/ op_num, /*HAS_DEST_P*/ true,
> -                    /*FULLY_UNMASKED_P*/ true,
> -                    /*USE_REAL_MERGE_P*/ false, /*HAS_AVL_P*/ true,
> -                    /*VLMAX_P*/ true,
> -                    /*DEST_MODE*/ data_mode, /*MASK_MODE*/ mask_mode);
> +  insn_expander<RVV_INSN_OPERANDS_MAX> e (/*OP_NUM*/ op_num,
> +                                       /*HAS_DEST_P*/ true,
> +                                       /*FULLY_UNMASKED_P*/ true,
> +                                       /*USE_REAL_MERGE_P*/ false,
> +                                       /*HAS_AVL_P*/ true,
> +                                       /*VLMAX_P*/ true,
> +                                       /*DEST_MODE*/ data_mode,
> +                                       /*MASK_MODE*/ mask_mode);

I don't see where RVV_INSN_OPERANDS_MAX is defined.  Maybe you
missed to include that hunk?

Apart from that maybe you could also remove the comments for dest_mode,
mask_mode and op_num?  I think the general "custom" is to just add them
for bool arguments and name non-bool arguments descriptively.  Here that
could mean renaming data_mode to dest_mode where appropriate (usually
data_mode is used to distinguish between data mode and comparison mode
in conditionals, not in regular insns where everything is "data").

Regards
 Robin

Reply via email to