# if defined(__ARM_FEATURE_SVE2)
# define ZSTD_ARCH_ARM_SVE2
# endif
-# if defined(__riscv) && defined(__riscv_vector)
-# define ZSTD_ARCH_RISCV_RVV
-# endif
+#if defined(__riscv) && defined(__riscv_vector)
+ #if defined(__GNUC__)
+ #if (__GNUC__ > 14 || (__GNUC__ == 14 && __GNUC_MINOR__ >= 1))
+ #define ZSTD_ARCH_RISCV_RVV
+ #endif
+ #elif defined(__clang__)
+ #if __clang_major__ > 18 || (__clang_major__ == 18 && __clang_minor__ >= 1)
+ #define ZSTD_ARCH_RISCV_RVV
+ #endif
+ #endif
+#endif
#
# if defined(ZSTD_ARCH_X86_AVX2)
# include <immintrin.h>