Check __risc_flen too.
@@ -6009,10 +6009,13 @@ void _MIR_dump_code (const char *name, int index, uint8_t *code, size_t code_len
#elif defined(__s390x__)
#include "mir-s390x.c"
#elif defined(__riscv)
-#if __riscv_xlen != 64 || !__riscv_float_abi_double || !__riscv_mul || !__riscv_div \
- || !__riscv_compressed
+#if __riscv_xlen != 64 || __riscv_flen < 64 || !__riscv_float_abi_double || !__riscv_mul \
+ || !__riscv_div || !__riscv_compressed
#error "only 64-bit RISCV supported (at least rv64imafdc)"
#endif
+#if __riscv_flen == 128
+#error "RISCV 128-bit floats (Q set) is not supported"
+#endif
#include "mir-riscv64.c"
#else
#error "undefined or unsupported generation target"
