#ifdef __riscv_flen | |
.global feclearexcept | |
.type feclearexcept, %function | |
feclearexcept: | |
csrc fflags, a0 | |
li a0, 0 | |
ret | |
.global feraiseexcept | |
.type feraiseexcept, %function | |
feraiseexcept: | |
csrs fflags, a0 | |
li a0, 0 | |
ret | |
.global fetestexcept | |
.type fetestexcept, %function | |
fetestexcept: | |
frflags t0 | |
and a0, t0, a0 | |
ret | |
.global fegetround | |
.type fegetround, %function | |
fegetround: | |
frrm a0 | |
ret | |
.global __fesetround | |
.type __fesetround, %function | |
__fesetround: | |
fsrm t0, a0 | |
li a0, 0 | |
ret | |
.global fegetenv | |
.type fegetenv, %function | |
fegetenv: | |
frcsr t0 | |
sw t0, 0(a0) | |
li a0, 0 | |
ret | |
.global fesetenv | |
.type fesetenv, %function | |
fesetenv: | |
li t2, -1 | |
li t1, 0 | |
beq a0, t2, 1f | |
lw t1, 0(a0) | |
1: fscsr t1 | |
li a0, 0 | |
ret | |
#endif |