diff --git a/include/vlc_cpu.h b/include/vlc_cpu.h
index 197a9d9b889a3967f7f52962a2b5eb215489f987..607a53843149730ee280177fcf8d063620e2176f 100644
--- a/include/vlc_cpu.h
+++ b/include/vlc_cpu.h
@@ -197,6 +197,11 @@ unsigned vlc_CPU_raw(void);
 # elif defined (__mips_hard_float)
 #  define HAVE_FPU 1
 
+# elif defined (__riscv)
+#  ifdef __riscv_flen
+#   define HAVE_FPU 1
+#  endif
+
 # else
 /**
  * Are single precision floating point operations "fast"?