Could you please move the new function declarations and new code to
the patch where they are being used?
> +/* RVV vector register sizes. */
> +enum riscv_vector_bits_enum
> +{
> + RVV_SCALABLE,
> + RVV_NOT_IMPLEMENTED = RVV_SCALABLE,
> + RVV_64 = 64,
> + RVV_128 = 128,
> + RVV_256 = 256,
> + RVV_512 = 512,
> + RVV_1024 = 1024,
> + RVV_2048 = 2048,
> + RVV_4096 = 4096,
> + RVV_8192 = 8192,
> + RVV_16384 = 16384,
> + RVV_32768 = 32768,
> + RVV_65536 = 65536
> +};
I think this is not necessary for the VLA vectorizer?
> +Enum
> +Name(riscv_vector_lmul) Type(enum riscv_vector_lmul_enum)
> +The possible vectorization factor:
> +
> +EnumValue
> +Enum(riscv_vector_lmul) String(1) Value(RVV_LMUL1)
> +
> +EnumValue
> +Enum(riscv_vector_lmul) String(2) Value(RVV_LMUL2)
> +
> +EnumValue
> +Enum(riscv_vector_lmul) String(4) Value(RVV_LMUL4)
> +
> +EnumValue
> +Enum(riscv_vector_lmul) String(8) Value(RVV_LMUL8)
I would like to introduce this option later, it's used for fine tuning,
VLA vectorizer should be able to work without this tuning option.
> +mriscv-vector-lmul=
> +Target RejectNegative Joined Enum(riscv_vector_lmul) Var(riscv_vector_lmul)
> Init(RVV_LMUL1)
> +-mriscv-vector-lmul=<lmul> Set the vf using lmul in auto-vectorization.
> +
Same question for this