diff options
| author | Rich Felker <dalias@aerifal.cx> | 2012-10-18 20:19:53 -0400 | 
|---|---|---|
| committer | Rich Felker <dalias@aerifal.cx> | 2012-10-18 20:19:53 -0400 | 
| commit | f321de9e0ae130e21faab5afe109270ec913602d (patch) | |
| tree | 91efafaac63b0469d28f419b22f0978aacd47675 /src | |
| parent | 97c8bdd88ae2ee03eb9d333a79fa669b3878fc76 (diff) | |
| download | musl-f321de9e0ae130e21faab5afe109270ec913602d.tar.gz | |
floating point environment/exceptions support for mips
Diffstat (limited to 'src')
| -rw-r--r-- | src/fenv/mips/fenv.s | 60 | 
1 files changed, 60 insertions, 0 deletions
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  | 
