gcc/ChangeLog:
* config/riscv/riscv-opts.h (TARGET_MIN_VLEN_OPTS): New.
---
gcc/config/riscv/riscv-opts.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/gcc/config/riscv/riscv-opts.h b/gcc/config/riscv/riscv-opts.h
index e7c6b75c5ea..31ee42dea6b 100644
--- a/gcc/config/riscv/riscv-opts.h
+++ b/gcc/config/riscv/riscv-opts.h
@@ -112,6 +112,12 @@ enum riscv_entity
? 0 \
: 32 << (__builtin_popcount (riscv_zvl_flags) - 1))
+/* Same as TARGET_MIN_VLEN, but take an OPTS as gcc_options. */
+#define TARGET_MIN_VLEN_OPTS(opts)
\
+ ((opts->x_riscv_zvl_flags == 0)
\
+ ? 0
\
+ : 32 << (__builtin_popcount (opts->x_riscv_zvl_flags) - 1))
+
/* We only enable VLS modes for VLA vectorization since fixed length VLMAX mode
is the highest priority choice and should not conflict with VLS modes. */
#define TARGET_VECTOR_VLS
\
--
2.34.1