We are going to support dynamic LMUL support.
gcc/ChangeLog:
* config/riscv/riscv-opts.h (enum riscv_autovec_lmul_enum): Add
dynamic enum.
* config/riscv/riscv.opt: Add dynamic compile option.
RVV_M1 = 1,
RVV_M2 = 2,
RVV_M4 = 4,
- RVV_M8 = 8
+ RVV_M8 = 8,
+ /* For dynamic LMUL, we compare COST start with LMUL8. */
+ RVV_DYNAMIC = RVV_M8
};
enum riscv_multilib_select_kind {
EnumValue
Enum(riscv_autovec_lmul) String(m8) Value(RVV_M8)
+EnumValue
+Enum(riscv_autovec_lmul) String(dynamic) Value(RVV_DYNAMIC)
+
-param=riscv-autovec-lmul=
Target RejectNegative Joined Enum(riscv_autovec_lmul) Var(riscv_autovec_lmul) Init(RVV_M1)
-param=riscv-autovec-lmul=<string> Set the RVV LMUL of auto-vectorization in the RISC-V port.