diff options
Diffstat (limited to 'src/fenv/riscv64')
| -rw-r--r-- | src/fenv/riscv64/fenv-sf.c | 2 | ||||
| -rw-r--r-- | src/fenv/riscv64/fenv.S | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/fenv/riscv64/fenv-sf.c b/src/fenv/riscv64/fenv-sf.c index ecd3cb5c..670a77a2 100644 --- a/src/fenv/riscv64/fenv-sf.c +++ b/src/fenv/riscv64/fenv-sf.c @@ -1,3 +1,3 @@ -#ifndef __riscv_flen +#ifdef __riscv_float_abi_soft #include "../fenv.c" #endif diff --git a/src/fenv/riscv64/fenv.S b/src/fenv/riscv64/fenv.S index f149003d..1deab07f 100644 --- a/src/fenv/riscv64/fenv.S +++ b/src/fenv/riscv64/fenv.S @@ -1,4 +1,4 @@ -#ifdef __riscv_flen +#ifndef __riscv_float_abi_soft .global feclearexcept .type feclearexcept, %function @@ -45,8 +45,11 @@ fegetenv: .global fesetenv .type fesetenv, %function fesetenv: + li t2, -1 + li t1, 0 + beq a0, t2, 1f lw t1, 0(a0) - fscsr t0, t1 +1: fscsr t1 li a0, 0 ret |
