github.com/afumu/libc@v0.0.6/musl/src/fenv/riscv64/fenv.S (about) 1 #ifdef __riscv_flen 2 3 .global feclearexcept 4 .type feclearexcept, %function 5 feclearexcept: 6 csrc fflags, a0 7 li a0, 0 8 ret 9 10 .global feraiseexcept 11 .type feraiseexcept, %function 12 feraiseexcept: 13 csrs fflags, a0 14 li a0, 0 15 ret 16 17 .global fetestexcept 18 .type fetestexcept, %function 19 fetestexcept: 20 frflags t0 21 and a0, t0, a0 22 ret 23 24 .global fegetround 25 .type fegetround, %function 26 fegetround: 27 frrm a0 28 ret 29 30 .global __fesetround 31 .type __fesetround, %function 32 __fesetround: 33 fsrm t0, a0 34 li a0, 0 35 ret 36 37 .global fegetenv 38 .type fegetenv, %function 39 fegetenv: 40 frcsr t0 41 sw t0, 0(a0) 42 li a0, 0 43 ret 44 45 .global fesetenv 46 .type fesetenv, %function 47 fesetenv: 48 li t2, -1 49 li t1, 0 50 beq a0, t2, 1f 51 lw t1, 0(a0) 52 1: fscsr t1 53 li a0, 0 54 ret 55 56 #endif