From f321de9e0ae130e21faab5afe109270ec913602d Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Thu, 18 Oct 2012 20:19:53 -0400 Subject: floating point environment/exceptions support for mips --- src/fenv/mips/fenv.s | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/fenv/mips/fenv.s (limited to 'src') diff --git a/src/fenv/mips/fenv.s b/src/fenv/mips/fenv.s new file mode 100644 index 00000000..49ff36c0 --- /dev/null +++ b/src/fenv/mips/fenv.s @@ -0,0 +1,60 @@ +.set noreorder + +.global feclearexcept +.type feclearexcept,@function +feclearexcept: + cfc1 $5, $31 + or $5, $5, $4 + xor $5, $5, $4 + ctc1 $5, $31 + jr $ra + li $2, 0 + +.global feraiseexcept +.type feraiseexcept,@function +feraiseexcept: + cfc1 $5, $31 + or $5, $5, $4 + ctc1 $5, $31 + jr $ra + li $2, 0 + +.global fetestexcept +.type fetestexcept,@function +fetestexcept: + cfc1 $2, $31 + jr $ra + and $2, $2, $4 + +.global fegetround +.type fegetround,@function +fegetround: + cfc1 $2, $31 + jr $ra + andi $2, $2, 3 + +.global fesetround +.type fesetround,@function +fesetround: + cfc1 $5, $31 + li $6, -4 + and $5, $5, $6 + or $5, $5, $4 + jr $ra + li $2, 0 + +.global fegetenv +.type fegetenv,@function +fegetenv: + cfc1 $5, $31 + sw $5, 0($4) + jr $ra + li $2, 0 + +.global fesetenv +.type fesetenv,@function +fesetenv: + lw $5, 0($4) + ctc1 $5, $31 + jr $ra + li $2, 0 -- cgit v1.2.1