]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
RISC-V: Add dynamic LMUL compile option
authorJuzhe-Zhong <juzhe.zhong@rivai.ai>
Thu, 31 Aug 2023 23:12:17 +0000 (07:12 +0800)
committerPan Li <pan2.li@intel.com>
Fri, 1 Sep 2023 10:59:01 +0000 (18:59 +0800)
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.

gcc/config/riscv/riscv-opts.h
gcc/config/riscv/riscv.opt

index 5ed69abd214dce5d7b99d98c37bab353f511efd1..79e0f12e3885c95316f57ccac506ff2181437d11 100644 (file)
@@ -79,7 +79,9 @@ enum riscv_autovec_lmul_enum {
   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 {
index d2407c3c502137e17ec552961515ed1647d6521d..eca0dda4dd5caf7ed6e2d1bbc0e90db65e319d4b 100644 (file)
@@ -311,6 +311,9 @@ Enum(riscv_autovec_lmul) String(m4) Value(RVV_M4)
 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.