From 0d40aeb9b85db87e4a502a530db5b89027d1a3b6 Mon Sep 17 00:00:00 2001 From: Kito Cheng Date: Thu, 29 Jun 2023 16:13:45 +0800 Subject: [PATCH] RISC-V: Handle rouding mode correctly on zfinx Zfinx has provide fcsr like F, so rouding mode should use fcsr instead of `soft` fenv. libgcc/ChangeLog: * config/riscv/sfp-machine.h (FP_INIT_ROUNDMODE): Check zfinx. (FP_HANDLE_EXCEPTIONS): Ditto. --- libgcc/config/riscv/sfp-machine.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libgcc/config/riscv/sfp-machine.h b/libgcc/config/riscv/sfp-machine.h index ded594d75d8..38e2817bffa 100644 --- a/libgcc/config/riscv/sfp-machine.h +++ b/libgcc/config/riscv/sfp-machine.h @@ -113,7 +113,7 @@ typedef int __gcc_CMPtype __attribute__ ((mode (__libgcc_cmp_return__))); #define _FP_TININESS_AFTER_ROUNDING 1 -#ifdef __riscv_flen +#if defined(__riscv_flen) || defined(__riscv_zfinx) #define FP_INIT_ROUNDMODE \ do { \ __asm__ volatile ("frrm %0" : "=r" (_frm)); \